1 / 44

Distributing and Storing Data Using the GML Standard

Distributing and Storing Data Using the GML Standard. Elizabeth A. Brennan CS5604: Information Retrieval and Storage. Problem Statement.

zuri
Download Presentation

Distributing and Storing Data Using the GML Standard

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Distributing and Storing Data Using the GML Standard Elizabeth A. Brennan CS5604: Information Retrieval and Storage

  2. Problem Statement • It should be evaluated how effectively and easily the OpenGIS Consortium’s Geography Markup Language (GML) allows users to store and transmit geospatial data. • Creating a GML document and creating a web service in the GML format will provide an understanding of the GML standard.

  3. Background • As the desire for geospatial applications increases, a standard method of encoding geographic data is needed. • A standard will allow for interoperability.

  4. Background • Many people use devices with geospatial capabilities. This information can be harvested to create a variety of applications. • Interoperability is necessary for geospatial applications to reach their potential.

  5. Background • XML is an existing standard that marks up data with descriptions. • XML is well supported. • Tools have been developed to transmit and parse XML data. • A large community supports XML

  6. Background • The Open Geospatial Consortium (OGC) proposes Geography Markup Language (GML) as a standard. • This is a subset of XML. • GML enables users to encode data with geospatial properties.

  7. The Application • Airline passengers must be prepared for the complications caused by increased security levels at airports. • Airline passengers are often unsure of how long it will take to clear security before they can enter the gates.

  8. The Application • The Transportation Security Administration (TSA) has jurisdiction over the major airports in the US. • The TSA website offers travelers advice on how to be prepared for their trips.

  9. The Application • The TSA website allows users to query their system for wait times at security checkpoints. • Users may download the complete list of security checkpoint wait times in xml format.

  10. The Application • The TSA XML document of security wait times does not include any geospatial data. • It could be useful to augment the existing document with geospatial data.

  11. The Application • WebserviceX.Net provides a web service that returns the latitude and longitude of an airport. • This data is not GML compliant. • It returns data about the airport as a string. • The coordinates are provided as degrees, minutes, seconds, and direction.

  12. WebserviceX.Net’s Methods

  13. Results of Web Service

  14. The Application • The first step of the application is to create a new document that adheres to the GML standard. • This document will have the name of the airport, its IATA code, the available wait time information, and the latitude and longitude of the airport.

  15. Problem 1 • GML application schemas define GML documents for a domain. A GML application schema for airports could not be found at this time. • The GML specification is 601 pages long. I only want to encode the position of the airport in my document. Do I really need to read all of this documentation? Will GML ever catch on if this is the case?

  16. Sample GML Primitives • 0-Dimensional and 1-Dimensional • gml:Point, gml:pointArrayProperty, gml:_curve, gml:lineString • 2-Dimensional • gml:_Ring, gml:polygonProperty, gml_Surface

  17. Solution! • OGC has provided 4 GML profiles. These “lower the bar” to decrease development time and increase interoperability.

  18. GML Profiles • GML Point Profile • Encodes points • GML Simple Features Profile • Encodes points, lines, and polygons • GML Profile for GMJP2 • Encodes imagery for JPEG 2000 • GML Profile for RSS • Encodes information for news feeds

  19. Back to the Application • The GML Point Profile seems like a good match for the application. • Create an application schema that uses the GML Point profile.

  20. The Schema • <?xml version="1.0" encoding="utf-8" ?> • <xs:schema id="XSDSchema1" • xmlns:xs="http://www.w3.org/2001/XMLSchema" • xmlns:gml="http://www.opengis.net/gml" • xmlns:xsi="http:///www.w3.org/2001/XMLSchema-instance" • targetNamespace="http://localhost/tsa/airportService" • elementFormDefault="qualified" attributeFormDefault="unqualified"> • <xs:import namespace="http://www.opengis.net/gml" xsi:schemaLocation="gmlPointProfile.xsd" /> • <xs:element name="airports"> • <xs:complexType> • <xs:all> • <xs:element name="airport"> • <xs:complexType> • <xs:all> • <xs:element name="code" type="xs:string" /> • <xs:element name="name" type="xs:string" maxOccurs="1" /> • <xs:element name="wait"> • <xs:complexType> • <xs:complexContent> • <xs:extension base="xs:anyType"> • <xs:attribute name="day" type="xs:string" /> • <xs:attribute name="hour" type="xs:positiveInteger" /> • <xs:attribute name="minutes" type="xs:string" /> • <xs:attribute name="avgWait" type="xs:string" /> • <xs:attribute name="maxWait" type="xs:string" /> • </xs:extension> • </xs:complexContent> • </xs:complexType> • </xs:element> • <xs:element name="position"> • <xs:complexType> • <xs:sequence> • <xs:element ref="gml:Point" /> • </xs:sequence> • </xs:complexType> • </xs:element> • </xs:all> • </xs:complexType> • </xs:element> • </xs:all> • </xs:complexType> • </xs:element> • </xs:schema>

  21. Creating the GML Document • A web form is created in Microsoft Visual Studios. When the page is accessed, the wait times document is read. For each new airport, a call is made to the webservicex.net web service. The information is written in an XML document and implements the new application schema.

  22. Snippet of GML Document

  23. Second Method • As a baseline for comparison, a second application was created. This one saved the results in a Microsoft Access database instead of an XML document. • Took much longer to load data into database • Data had to be prepared and not all data was compliant

  24. Part Two: The Web Service • The web service will have two methods. • getAirportByPos() • getAirportByCode() • Both methods will return the airport element that matches its parameters.

  25. Web Features Service • The OGC provides a specification for a geospatial web service it calls Web Feature Service (WFS).

  26. WFS • WFS must implement: • GetCapabilities(): returns the methods available • DescribeFeatureType: returns XML schema for results set • GetFeature(): queries data and returns a results that include geometry and feature attributes

  27. WFS-T • This is the expanded version of WFS and provides transactional capabilities • Insert • Update • Delete • Lock

  28. Disadvantages of WFS • Implementing WFS is an intensive development effort. • WFS is not supported in the Visual Studio environment. • While there is a large community and tool sets for consuming WFS, they are minimal for implementing WFS.

  29. New Approach • The web service will be created in Visual Studio. It will act as a “regular” web service. • The data will be queried. The results will be returned as a string.

  30. Advantages • This approach is more feasible. • The GML information is preserved. It is will be more difficult to extract because it only appears to be in XML.

  31. ASMX File

  32. Invoke the Web Service

  33. Web Service Results

  34. Conclusions • GML will be a useful and widely used standard if its community continues to develop.

  35. Conclusions • Encoding data as text: • allows for interoperability and data preservation. • makes files very large.

  36. Conclusions • Unless a small data set is being used, it will be more useful to store the data in a database.

  37. Conclusions • The point element has the attribute “srsName”. This is supposed to give authority to the position’s format. Little documentation is provided on the encoding of the formats.

  38. Conclusions • GML versus Database • Data had to be modified before it could be inserted into the database • It was much slower to get the data and put it in Access than it was to get the data and write it to a document. • It was much easier to get the desired data from the database when the web service was implemented.

  39. Conclusions • The best approach may be to initially store the data in an XML document. Parse it and insert it into a database and then convert it to a GML document for transmission.

  40. Conclusions • The support for GML varies for different aspects. There is far more support for GML clients than GML servers. • The incompatibility between Visual Studios and WFS servers will be difficult to overcome.

  41. GML Application Schemas • A public directory of GML application schemas should be made available • How useful is providing information if no one can find it?

  42. Future Research • The client tools for GML should be evaluated • Is it difficult to transform GML into a map • Is it difficult to find geospatial web services • Are GML applications consistent with the standard

  43. References • Max J. Egenhofer, “Toward the Semantic Geospatial Web”, Proceeding of the 10th AMC international symposium on the Advances in geographic information systems, Pages: 1-4, McLean, VA, 2002. • Christian Larouche, Gilles Clément, Denis Gouin, Paul Morin, “A practical solution to the geospatial data barrier problem”, Proceedings of the 5th ACM international workshop on the Advances in geographic information systems, Pages: 62-66, Las Vegas, NV, 1997. • Gilles Clément, Christian Larouche, Denis Gouin, Paul Morin, Henry Kucera, “OGDI: Toward Interoperability among Geospatial Databases”, ACM SIGMOD Record. 26, 3, Pages: 18-23, New York, NY, September 1997. • Andras Matheus, “Declaration and Enforcement of Fine-Grained Access Restrictions for a Service-Based Geospatial Data Infrastructure”, Proceeding of the Tenth ACM Symposium on Access Control Models and Technologies, Pages 21-28, New York, NY, June 01-03, 2005. • Manoj Paul, S.K. Ghosh, “An Approach for Service Oriented Discovery and Retrieval of Spatial Data”, Proceedings of the 2006 International Workshop on Service-Oriented Software Engineering, Pages 88-94, New York, NY, May 27-26 2006. • Ma Xiujun, Li Gang, Xie Kuning, Shai Meng, “A Peer-to-Peer Approach to Geospatial Web Services Discovery”, Proceedings of the 1st International Conference on Scalable Information Systems, InfoScale ’06, vol. 152, Hong Kong, May 30-June 1 2006. • Chang-Tien Lu, Raimundo F. Dos Santos Jr, Lakshmi N. Sripada, Yufeng Kou, “Advances in GML for Geospatial Applications”, Virginia Polytechnic Institute and State University. • Lau Chen, Ning Jing, “A Dynamic Data Structure for Geospatial Web Services Integration”, Proceedings of the IEEE International Conference On Web Services, vol. 00, Page 800, Washington, DC, 2004 . • E. Boisvert, B.R. Johnson, B. Broaric. “Serving North American Geologic Map Information using Open Geospatial Web Services.” International Association for Mathematical Geology XIth International Congress, Liege, Belgium, 2006. • “OpenGIS Geography Markup Language (GML) Encoding Specification,” Geographic Information- Geography Markup Language, http://portal.opengeospatial.org/files/?artifact_id=4700 . Last Retrieved on 6 December 2006. • “GML Point Profile,” http://portal.opengeospatial.org/files/index.php?articact_id=11606, Last Retrieved on 6 December 2006.

  44. Questions?

More Related