Thursday, April 05, 2007

FAQ About Smart Map Tools (SMT)




Smart Map Tools
- WMS Client
- Interactive data querying
- Streaming map movies capability for the time-dependent feature data
- Integrating AJAX Approach
...... Layer based integration of Google maps and OGC’s WMS maps
....... Overlaying features from WFS over Google Maps


31. What is SMT?
SMT is acronym of Smart Map Tools. We call it smart because tools allow users to manipulate data, create interactive queries and analyze the spatial information. SMT also enables Geo-Science application results interrelated with maps at the “layer” level. SMT also allows creating movie streams or animations from time dependent data.

32. What functionalities does it provide?
In order to give brief idea about what SMT provides, I give development stages from the initial to the current.
1. I first implemented it as “WMS Client”. At that time, SMT was just getting map images and displaying through standard map tools enabling zooming, moving and calculation distance between two selected points on the map etc.
2. I have added interactive query capability. Users are able to query data just by clicking on a specific data on the map. They do not write any complicated SQL queries or any other type of scripts.
3. I have added project based functionality to give additional interpretation to the data.
4. Embedding additional interfaces for the layers based on time dependent data in order to create streaming map movies. User is given option of defining time intervals such as per one year or per one month etc.
5. I created AJAX based approach. It enabled layer based integration of Google maps and OGC’s WMS maps at the “layer” level and, overlaying features from WFS over Google Maps.
6. NOW – I am trying to create a flexible framework enabling integration of all these Map services with Geo-Science Grids. it includes interacting with Sci-Plotting services to plot Geo-Science Grids simulation outputs over Google maps or WMS maps, interacting with HPSearch Job Manager in accordance with Sci-Plotting services. Sci-Plotting services (by Sayar) and HPSearch Job manager (by Gadgil) are two of CGL projects.

33. Can you give a snapshot from SMT?
This is a snapshot from the very early stage of our SMT implementation. For more advanced one please see the snapshot at Q59. Explanations in orange framed boxes give the basic functionality of the SMT. It is implemented by using Java Server Pages (JSP), JavaScript and DHTML technologies.

In order to get better view of the figure, please click on it.

34. Do you have any GIS demo running?
We have a demo running at http://156.56.104.187:8083/aaa/maptools/newmap.jsp. This is my implementation of user interface for the WMS Client and our proposed Map Services and Geo-Science grids integration framework.
Here is the user manual for instructions about how to use smart map tools to get and manipulate maps and run geo-science applications through smart map tools interactively.
http://complexity.ucs.indiana.edu/~asayar/gisgrids/docs/usermanual.pdf

35. What is the streaming map video?
Another capability SMT provides is the set of tools enabling creation of the streaming map movies. Visualizing changes over time is achieved by integrating temporal information on a map. Usually the result is a series of static maps showing certain themes at different moments. In addition to creating static maps, WMS also has the ability to combine the static maps correspond to a specific time interval data and combine them in an animated movie. Movies created by WMS are composed of a certain number of frames. Each frame represents a static map that corresponds to a time frame defined in request. Please see the Section 1.2.3 for more detailed information about the streaming map movies.



Integrating AJAX Approach to SMT (Q36 to Q45):


36. What is AJAX?
AJAX (Asynchronous JavaScript and XML) is a web development model for the browser based web applications. AJAX is a style of web application development that uses a mix of modern web technologies to provide a more interactive user experience. AJAX is not a technology. It is an approach to web applications that includes a couple of technologies. These are JavaScript, HTML, Cascading Style Sheets (CSS), Document Object Model (DOM), XML and XSLT, and XMLHttpRequest as messaging protocol.
AJAX drew some attention in the public, after Google started to develop some new applications with it. Some of the major products Google has introduced over the last year by using AJAX model are Google Groups, Google Suggests, and Google Maps. Besides the Google products Amazon also have used AJAX approach in its search engine application.

37. What inspired you to use AJAX and Web Services together for the GIS Vis Systems?
AJAX provides high interactivity and performance results for the browser based web applications. AJAX and Web Services are XML Based structures, so that they are able to leverage each others strength. Both AJAX and Web Services uses widely-used and well-known technologies such as XML and HTTP. Last but not least is that they are not competing but complementary technologies.

38. What are the advantages of using AJAX in your GIS Visualization systems?
AJAX has a couple of advantages for the browser based web applications developers. It eliminates the stop-start nature of interactions, user interactions with the server happen asynchronously, data can be manipulated without having to render the entire page again and again in the web browser, and requests and responses over the XMLHttpRequest protocol are structured XML documents.
Using AJAX approach in our system enables users to be able to integrate Google Maps with the Geo-science data in the form of layers (from WMS) or plotting (feature data from WFS). Regarding WFS, it provides vector data (points or line strings) in the GML format encoded in XML. GML contains content and presentation information for the feature data. Google maps are able to be plotted by using its own libraries after extracting the presentation data (OGC call them as Geometry elements such as points and line strings) through parsing of the GML.
By layering or/and plotting geo-science data on the Google maps, we obtain more detailed and informatory maps. As an example, I can see if my house is constructed on an earthquake fault through layering and in right zoom level.

39. What are the disadvantages of using AJAX and Web Services together (if there is…)?
This framework introduces some extra work. Extra work mostly comes from the conversion of parameters to be able to make compatible requests to remote Web Services. In order to make valid requests, the proxy server should be deployed locally and client stubs for Web Service invocations should be created before running the application.

40. What are the challenges in your architecture?
The biggest challenge is the handling the messages going through different protocols before accessing the receiver. Web Services and AJAX use different protocols for the data transfer. AJAX uses HTTP based XMLHttpRequest protocol and Web Services use SOAP over HTTP protocol (they also use SMP but in our implementations we use SOAP). They have no common message protocols to transfer messages and data.

41. Can you use Google Maps to display geo-science data directly instead of using your integration approach?
First of their concern is commercial not scientific. It is not efficient for integrating and displaying scientific data over the Google Maps by using their libraries. There are a couple of reasons for that but the most important one is that they use DOM parsing internally and it is not memory and performance efficient when you need to display data larger then about 4MB. With our approach we can display even 30MB of XML based geo-science data in a reasonable time period.

42. What is the general architecture (approach for the involving AJAX)?
The major contribution of the proposed architecture is that users interact with the Web Service based GIS services through the AJAX enabled GIS client user interface.
AJAX uses HTTP GET/POST requests (through JavaScript’s XMLHttpRequest) for the message transfers (see (A) in Figure). Web Services use Simple Object Access Protocol (SOAP) as a communications protocol (see (B) in Figure). In order to be able to integrate these two different message protocols, we convert the message format from one protocol to another. Since there is no ready to use common protocol to handle messages communications between AJAX and Web Services, we implemented a simple message conversion technique (see (C) in Figure). This essentially works by having the XMLHttpRequest communicate with a servlet, which in turn acts as a client to a remote Web service. This allows us to easily convert between SOAP invocations and HTTP POSTS. It also has the benefit of avoiding JavaScript sandbox limitations: normally the XmlHttpRequest object in the browser can only interact with its originating Web server.

In order to get better view of the figure, please click on it.

43. How do you integrate Google Maps with WMS?
This is actually a usage scenario of the general architecture explained in Q42 with some extensions. In order to fulfill this task we need to use base architecture.
Please see the figure below in order to understand the architecture in general before reading below explanations. There are two different path working in parallel by the given user parameters created by the client actions. Actions are interpreted by the browser through the Google Mapping tools on Layer 1. JavaScript captures these actions by ActionListeners and Google Binding APIs and gives to Layer-2 object.
Each layer is represented as JavaScript object. In our architecture we can utilize all the WMS Web Service interfaces such as “getMap”, “getCapabilities” and “getFeatureInfo”. The client does not need to make rendering or mapping jobs to create the map image. The map is consists of two layers one is coming from Google and other is coming from WMS. The layer returned by WMS is in a ready to use format such as JPEG or PNG or TIFF. The Layer returned by Google is a JavaScript object. In order to overlay these, we convert the layer coming from WMS into a JavaScript object before overlaying.

In order to get better view of the figure, please click on it.

44. How do you integrate Google Maps with WFS?
This is actually a usage scenario of the general architecture explained in Q42 with some extensions. In order to fulfill this task we need to use base architecture.
Before reading the answer please see the figure below in order to better understand the architecture. WFS provide feature data in vector format and vector data are encoded in GML according to OGC WFS specifications. GML is an XML encoding for the transport and storage of geographic information, including both the geometry and properties of geographic features.Client makes “getFeature” request and, the GML file encoded in XML is returned in a SOAP envelope. After getting a response, the client extracts geometry elements. The most important and commonly used geometry elements are Points, LineStrings, LinearRings, and Polygons. Even though Google Mapping API supports just two of them, Points and LineStrings, the other geometry elements can also be converted to these two types with minor updates. Having extracted and obtained geometry elements, these elements are plotted over the Google Map by using “GPoints” and “GPolylines” objects and the “mapOverlay” function of the Google Map API. By setting returned GML’s non-geometry elements and using ‘GMarker” object of the Google API, this architecture also provides the “getFeatureInfo” functionalities of the OGC WMS services. All these tasks are achieved by using XMLHttpRequest API and JavaScript functionalities.

In order to get better view of the figure, please click on it.

45. Did you apply your architecture to any project? If so, can you give us sample screen shots of your outputs?
Figure-a is about Google and WMS integration. The layer is coming from WMS is overlaid on Google map. This is a real output from the IESS application done in los Alamos National Lab. Layers coming from WMS are consists of two feature data. These are Natural gas and electric power pipelines.Figure-b is about Google and WFS integration. Application is done at Community Grids Lab (CGL) for Pattern Informatics, earthquake forecast application. In this sample application output we show California Earthquake seismic data plotted on Google maps as GIcons. You can even query data interactively by clicking on it as shown on the figure.

In order to get better view of the figure, please click on it.

27 comments:

Anonymous said...

buy tramadol online tramadol for dogs high - buy tramadol online fedex delivery

Anonymous said...

buy tramadol online purchase tramadol for dogs - buy tramadol hydrochloride

Anonymous said...

buy tramadol online tramadol hcl 50 mg recreational use - tramadol causes high blood pressure

Anonymous said...

cheap xanax no prescription xanax withdrawal 1 mg daily - xanax and employment drug test

Anonymous said...

buy tramadol online tramadol for dogs drug interactions - 100mg tramadol equivalent morphine

Anonymous said...

buy tramadol online tramadol no prescription fedex - tramadol addiction treatment

Anonymous said...

xanax online how long do the effects of xanax .5mg last - does xanax show up in hair drug test

Anonymous said...

buy tramadol online 50mg tramadol high dose - tramadol overnight fedex no prescription

Anonymous said...

buy cheap carisoprodol medication soma carisoprodol - carisoprodol soma opiate

Anonymous said...

buy tramadol online ultram stronger than tramadol - tramadol xanax

Anonymous said...

cialis online cialis online andorra - buy cialis with mastercard

Anonymous said...

generic xanax alprazolam 2mg generic xanax - xanax side effects pregnancy

Anonymous said...

order cialis from canada generic cialis online kaufen - generic cialis online reviews

Anonymous said...

buy cheap tramadol tramadol ultram recreational - tramadol dosage equivalent to morphine

Anonymous said...

cialis online pharmacy order cialis daily use - cialis reviews webmd

Anonymous said...

generic xanax xanax 031 - xanax dosage generic

Anonymous said...

buy xanax xanax bars 2 mg street price - effects does xanax have

Anonymous said...

xanax online xanax bars no imprint - buy xanax legally

Anonymous said...

buy tramadol tramadol for dogs allergic reaction - tramadol dosage buzz

Anonymous said...

buy tramadol online can you buy tramadol legally online - tramadol 300 er

Anonymous said...

http://landvoicelearning.com/#23561 tramadol dosage route - order tramadol

Anonymous said...

tramadol online tramadol online no prescription fedex - buy tramadol online echeck

Anonymous said...

http://blog.dawn.com/dblog/buy/#91875 where to buy tramadol online safely - buy tramadol online cod no prescription

Anonymous said...

buy tramadol buy tramadol online from usa - buy tramadol online no prescription cheap

Anonymous said...

cheap lorazepam ativan for pain - buy sandoz lorazepam

Anonymous said...

buy tramadol overnight shipping tramadol withdrawal anxiety - buy tramadol in missouri

Anonymous said...

alprazolam xanax side effects generic - what is xanax high like