Using Lightweight Libraries To Do Powerful Tasks Geospatial Selection Using Mapx and JAZ JavaScript Libraries Scott Lewis

Slides:



Advertisements
Similar presentations
A Roadmap of Open Source components for GI Web Services and Clients A Paul R Cooper MAGIC.
Advertisements

Polar Image Mapping - Lessons Learned Shinobu Kawahito Remote Sensing Technology Center of Japan (RESTEC) in support of Japan Aero-exploration Agency (JAXA)
DIGIDOC A web based tool to Manage Documents. System Overview DigiDoc is a web-based customizable, integrated solution for Business Process Management.
MICHAEL MARINO CSC 101 Whats New in Office Office Live Workspace 3 new things about Office Live Workspace are: Anywhere Access Store Microsoft.
Web GIS Oregon Explorer Marc G Rempel Oregon State University The Valley Library Oregon Explorer
Copyright 2004 Monash University IMS5401 Web-based Systems Development Topic 2: Elements of the Web (g) Interactivity.
Applied Cartography and Introduction to GIS GEOG 2017 EL
Welcome to EDINA Digimap Digimap is an EDINA service offering online access to a range of spatial data. It is authenticated using Athens and is available.
Geospatial Content-Based Image Retrieval Viewing Interface MENTORS: Dr. Chi-Ren Shyu Matt Klaric BY: Abdulmajed Al-Meshaal Neil Timmerman.
Welcome to EDINA Digimap Digimap is an EDINA service offering online access to a range of spatial data. It is authenticated using the UK Federation and.
Senior Project – I.D. Math & Computer Science jsMath Equation Editor Dana Cartwright Advisors – Prof. Cervone & Prof. Striegnitz Editor Design -
Map Projections Francisco Olivera, Ph.D., P.E. Srikanth Koka
Modern Navigation Thomas Herring
Geographic Information Systems
Specific Types and Coordinate Systems
Coordinate systems.
Map Projections Displaying the earth on 2 dimensional maps
GIS for Environmental Engineering
INTRODUCTION TO WEB DATABASE PROGRAMMING
The graticule is made up of vertical lines, called lines of longitude, and horizontal lines, called lines of latitude. Because the earth is spherical,
Geographic Information Systems Coordinate Systems.
GIS technologies and Web Mapping Services
Abstract: For many geophysical disciplines it is sufficient, and often expedient, to treat the Earth as a Cartesian plane, at least for data search and.
Introduction to ArcGIS API for JavaScript
Configurable User Interface Framework for Cross-Disciplinary and Citizen Science Presented by: Peter Fox Authors: Eric Rozell, Han Wang, Patrick West,
Popview An X based image display tool for OLS native format files including both full-resolution and browse data. The mapx library was used to add toggle-
Cartography: the science of map making
Jeremy D. Bartley Kansas Geological Survey An Introduction to an Index of Geospatial Web Services.
Marc Ziss Z Consulting Code Name 'Oryx' Web application scaffolding Easy to dynamically display pages based on the data model of.
Design patterns. What is a design pattern? Christopher Alexander: «The pattern describes a problem which again and again occurs in the work, as well as.
Map Projection Theory and Usage.
Open Source Web Mapping Server Products (Spatially-enabled Internet applications)‏ Rex Thaxton & Jerry Workman Mountain CAD Corporation 339 Sixth Ave.
CS 325: Software Engineering March 17, 2015 Applying Patterns (Part A) The Façade Pattern The Adapter Pattern Interfaces & Implementations The Strategy.
M1G Introduction to Database Development 6. Building Applications.
Campus Tour COMP 523 Midterm Presentation Justin, Paul, Florian.
Microsoft Project 2010 ® Tutorial 6: Sharing Project Information with Other People & Applications.
CHAPTER TEN AUTHORING.
MapTube and Streaming Google Earth – Sharing Data via Anonymous Servers Richard Milton and Andrew Hudson-Smith CASA, UCL UCL CENTRE FOR ADVANCED SPATIAL.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Map Projections Francisco Olivera, Ph.D., P.E. Srikanth Koka Department of Civil Engineering Texas A&M University.
Map Projections RG 620 Week 5 May 08, 2013 Institute of Space Technology, Karachi RG 620 Week 5 May 08, 2013 Institute of Space Technology, Karachi.
Cartography: the science of map making A Round World in Plane Terms.
Navigation 3.01 Foundations of Navigation References: FTGU pages , Transport Canada Study and Reference Guide Glider Pilot Canada Flight.
Map Projections. What is a Map Projection? A mathematical expression used to represent the 3D surface of the earth on a 2D map Always results in distortions.
URBDP 422 URBAN AND REGIONAL GEO-SPATIAL ANALYSIS Lecture 3: Building a GeoDatabase; Projections Lab Session: Exercise 3: vector analysis Jan 14, 2014.
s Donna J. Scott, Marilyn Kaminski, Jason Wolfe, Terry Haran NSIDC's MODIS Snow and Sea Ice Products NSIDC provides a suite.
Proj4js Coordinate transformations in the browser
Graphics Concepts CS 2302, Fall /17/20142 Drawing in Android.
The goal of this NASA ACCESS-funded project is to create easy to use, multi-faceted web services for access, browse, online analysis and delivery of data.
TSS Database Inventory. CIRA has… Received and imported the 2002 and 2018 modeling data Decided to initially store only IMPROVE site-specific data Decided.
Chapter 5 Introduction To Form Builder. Lesson A Objectives  Display Forms Builder forms in a Web browser  Use a data block form to view, insert, update,
Map Projections Goal: translate places on the Earth (3D) to Cartesian coordinates (2D)
Java – in context Main Features From Sun Microsystems ‘White Paper’
VERI is an interface that provides a Web based front end to the access the datasets generated by the MVED. The goal is to Provide open access to the Don.
©2010 AIR WORLDWIDE 1 Using ArcGIS Server Web Map Services in Web Map Mash-Ups Benjamin Spaulding, Ph.D. AIR Worldwide Esri Boston Dev Meet-Up 12/8/2010.
What is Firefly (1) A web UI framework for web applications
MODIS Data at NSIDC MODIS Science Team Meeting - Nov. 2, 2006.
ECHO Technical Interchange Meeting 2013 Timothy Goff 1 Raytheon EED Program | ECHO Technical Interchange 2013.
Excel Services Displays all or parts of interactive Excel worksheets in the browser –Excel “publish” feature with optional parameters defined in worksheet.
Chapter 3- Coordinate systems A coordinate system is a grid used to identify locations on a page or screen that are equivalent to grid locations on the.
JavaScript Invented 1995 Steve, Tony & Sharon. A Scripting Language (A scripting language is a lightweight programming language that supports the writing.
Review of Projections and Coordinate Systems
Map Projections RG 620 May 16, 2014 Institute of Space Technology, Karachi RG 620 May 16, 2014 Institute of Space Technology, Karachi.
CS 501: Software Engineering Fall 1999 Lecture 23 Design for Usability I.
Geocoding and Georeferencing
Map Projections RG 620 April 20, 2016
Working in the Forms Developer Environment
Spatial Referencing.
CS 174: Server-Side Web Programming February 12 Class Meeting
Coordinate systems.
Presentation transcript:

Using Lightweight Libraries To Do Powerful Tasks Geospatial Selection Using Mapx and JAZ JavaScript Libraries Scott Lewis Geospatial selection widgets are becoming more widely used in online data search tools. In order to make these selection widgets function, it is important to be able to project coordinates from the screen to the earth, and vice-versa. The Mapx JavaScript library enables these projection algorithms to be embedded into a web page, allowing the page to make use of on-the-fly projections in a client browser without having to make calls to a server. This, in turn, can greatly speed up projection calculations, and allow for more robust and interactive functionality in client web applications. The JAZ JavaScript library harnesses the power of the Mapx JavaScript capabilities by allowing the user to easily embed a selection widget into any tool requiring a visual geospatial selection mechanism. This relatively lightweight tool provides some significant power by allowing geospatial selections to be done on images of a variety of different map projections. These images can be served from a static image library, or a more dynamic Web Map Server (WMS) setup on a host. The flexibility of this widget has made it possible to use in a variety of web search tools. Presented December 15, 2008 JAZ JavaScript Library Try the Demo at: Mapx JavaScript Library The Mapx JavaScript library was primarily written as a refactor of the Java library of the same name (written by Ross Swick). Taking advantage of JavaScript’s object-oriented capabilities it is powerful, yet easy to implement. There are three primary classes which comprise the main Mapx functionality. Mapx The Mapx class is actually an abstract class, and not directly instantiated. Instead, you derive projection-specific subclasses from the Mapx class. Each subclass then only needs to define methods for initialization and conversion between projection and latitude/longitude coordinates. The following projection classes are currently built into the Mapx library: Azimuthal Equal-Area Azimuthal Equal-Area (Ellipsoid) Cylindrical Equal-Area Cylindrical Equal-Area (Ellipsoid) Cylindrical Equidistant Lambert Conic Conformal (Ellipsoid) Polar Stereographic Polar Stereographic (Ellipsoid) Transverse Mercator MapMaker The MapMaker class is a factory class that can simplify the creation of Mapx-derived projection objects. MapMaker can create a projection manually, using a list of parameters to define the projection; it can use an internal pseudo-filename which will build a projection based on pre-defined parameters; or it can take an external server and filename to load projection information externally. Once the projection object has been created, the MapMaker class can be discarded. Grids The Grids object is used to wrap a Mapx object into a grid, which is beneficial when integrating Mapx into image-related code (such as JAZ). Using Grids, an application can convert between row/column coordinates (often corresponding to map coordinates), and latitude/longitude coordinates. Grid objects can be created manually, by specifying grid parameters and supplying a pre-defined Mapx object; or by using an internal pseudo-filename, using pre-defined parameters to create Grids and Mapx objects. Mercator Molleweid Orthographic Sinusoidal MapMaker MapxGrids Mapx Creation Row / Column Coordinates Projection Coordinates Latitude / Longitude Coordinates Selection Options X/Y Rectangle – This selection method would be used when the selection is specific to the projection displayed, such as retrieving MapServer corner points. Also, when using Zoom In capabilities with the WMSMapCanvas, the X/Y Rectangle selection is used when allowing for user-selected zoom areas. Latitude/Longitude Bounds – This selection method is useful for selections which depend only upon a latitude/longitude bounding box; i.e., a selection in which you only need north, south, east, and west boundaries. In some projections, this will look like an arc. The date line can be crossed using this selection if needed. Spherical Rectangle – This selection is useful because it is truly projection-neutral. The corner points match those from the X/Y Rectangle, but the sides of the Spherical Rectangle will be curved, as the corner points are connected by Great Circle arcs. The area represented by a Spherical Rectangle would be the same on any projection. Row/Column Rectangle – This selection is useful when you want a coarse-grained selection method. For example, some of NSIDC's MODIS products are broken into “tiles,” broken into a very coarse grid. The Row / Column rectangle allows you to select the tiles, and to see the discrete (rather than analog) boundaries of a selection. Discovery, Access, and Delivery of Data for IPY (DADDI) The DADDI search system uses JAZ as part of its Advanced Search capabilities. Geographic selections are made using the Latitude / Longitude selection on a static image canvas. The Antarctic Cryosphere Access Portal (A-CAP) A-CAP's large map is displayed and manipulated using JAZ and its MapServer functionality. Utilizes X/Y Rectangle selection, as well as the JAZ recentering and zooming capabilities. Search 'N Order Web Interface (SNOWI) SNOWI uses a global view to select spatial search boundaries. The ability to do tile-based searches, using the Row/Column Rectangle, is being developed to enhance the tool, as well. What is JAZ? J AZ is a lightweight, flexible and powerful widget designed to facilitate geospatial selection in web tools. Written in JavaScript, it is easily imported and used in web pages, and is designed to function using the most popular modern browsers. The JAZ JavaScript library incorporates the Mapx JavaScript library, enabling the widget to couple map images with projection coordinate conversion. One important thing to note, however, is that JAZ itself does not provide functionality for searching a database or retrieving information from a web server. Instead, JAZ provides the values selected by the user, and it is up to the calling code to use these values to retrieve the desired information. Major Features On the simplest level, JAZ can support the loading of a static image to use as a map. If the correct projection information for this map is provided, the user can draw selections on the map, and the widget can provide selection information to other methods in the code. However, JAZ is capable of more than just using a simple map and selection. Below are some of the major capabilities provided by JAZ. Multiple selection types – Because various tools and applications may require selection data in different formats, JAZ allows four different selection types (see sidebar at right). The code can also allow for switching between these selection types, depending on the context and what is needed. MapServer connection – While static images can be useful in many instances, JAZ also makes it possible to connect the map image to a MapServer, allowing for more dynamic map creation, as well as functionality not available for static images (such as zooming). Event listeners – JAZ is highly event-driven. As such, listeners are used to retrieve information from the widget. Various listener types are supported, including retrieving mouse position, selected area information, single- and double-clicks, and image load completion. The information retrieved from these listeners can be used for a wide variety of tasks, limited only to what the developer wishes to do with it. Multiple projections and views – Sometimes, it may be desirable to easily switch between different projections or views. JAZ makes this simple by allowing setup of multiple projections and MapServer maps; once setup is complete, switching between these views is simple and painless. Zooming, panning, and recentering – When MapServer mode is being used, it becomes simple to dynamically zoom in or out, pan, and recenter the map. When doing these things, JAZ keeps track of the view internally, so that selections can be done at any level of zoom or any map position. The images below demonstrate this functionality. Abstract Implementation Examples 2008 AGU Fall Meeting - Paper Number IN11A-1018 NSIDC/CIRES, University of Colorado, Boulder