G-XML and SVG

Keywords: G-XML, goSVG, GML

Ryota Kurihara
NTT DATA Corp.
Japan
kuriharar@nttdata.co.jp

Biography

Participated in the G-XML project since 2002.

Mitsuho Tanaka
NTT DATA Corp.
Japan
bstanaka@gis.bds.nttdata.co.jp

Biography

Participated in the G-XML project since 2001.

Akifumi Nakai
NTT DATA Corp.
Japan
nakaia@nttdata.co.jp

Biography

Takes part in various GIS-related committee activities including G-XML since 1999.Open GIS Consortium GML RWG board member since 2001. Lots of presentations in conference, literary activities related with GIS and ITS.


Abstract


This paper introduces G-XML, which is a format for exchanging geographic information using XML. In the process of developing G-XML, the idea of using SVG as background maps for mostly mobile devices was suggested. That idea led us to produce the specification of G-XML over SVG, which is known as goSVG. The newest version of G-XML includes the specification of goSVG. This paper is related to goSVG.


Table of Contents


1. G-XML Overview
     1.1 What are the objectives of G-XML
         1.1.1 Conformance with OGC GML, or ISO
         1.1.2 To be available for use in mobile phones
         1.1.3 Creation of a specification to implement servers for G-XML contents using web service technologies
         1.1.4 Specifying rules for extension of the G-XML specification
     1.2 G-XML Conceptual Structure
     1.3 Imported standards in G-XML
     1.4 Relationship of GML, ISO 19100, and G-XML
2. G-XML and goSVG
     2.1 Why do we need a special protocol modified for mobile devices?
     2.2 Conceptual Structure of Low-volume Encodings for Mobile Devices
     2.3 G-XML Encoding Rules for Mobile Devices
     2.4 G-XML over SVG
         2.4.1 Spatial reference systems can be supported in SVG.
         2.4.2 POIs can be supported in SVG.
3. Summary
Acknowledgements

1. G-XML Overview

Some trials which are going to deal with spatial data by XML are performed. G-XML is also one of them, and GML(Geography Markup Language) by OGC(Open GIS Consortium) is the same trial. Both were conceived mostly at the period, and they have developed, influencing mutually. Both newest version is adjustmentized and standardization is advanced to each now. GML is proposed as the coding method of the spatial information by XML by TC211, which is considering the standardization about the spatial information in ISO, and is in the process of international standardization. G-XML also follows this.

1.1 What are the objectives of G-XML

G-XML is considered as application schemas based on GML. It was developed to solve some issues users pointed out and to enhance for better usability.

  1. Conformance with OGC GML, or ISO.
  2. To be available for use in mobile phones.
  3. Creation of a specification to implement servers for G-XML contents using web service technologies.
  4. Specifying rules for extension of the G-XML specification.

1.1.1 Conformance with OGC GML, or ISO

There are several standards on processing geographical information. Previous version of G-XML was authorised as a Japanese Industrial Standard in 2001. Sooner or later, OGC GML2.0 was released and ISO19118, encoding rule was being standardised. Thus, there were several description language specification for geospatial information based on XML. Many users asked which one they should use. In order to improve the situation, OGC proposed GML3.0 to ISO/TC211 for a new work item. Project team 19136 began to handle it and promote standardisation harmonising with ISO19100 series standards. Just now, OGC GML RWG and PT19136 group have been jointed. They can efficiently promote GML standardization. Thus, bad influence caused by many standards with XML encoding should be dissolved. In G-XML, we locate our own functions as application schemas of GML3.0 considering the continuity of data described with previous version of G-XML.

1.1.2 To be available for use in mobile phones

As an issue, users often said, G-XML specification was very complicated and XML encoding was too big for useful application like LBS. To improve this, we have developed an application schema which is simple layered, short tag named, available to LBS even under a severe environment like a mobile phone network with narrow band width and small display.In order to attain this, using SVG was examined, and goSVG was born.

1.1.3 Creation of a specification to implement servers for G-XML contents using web service technologies

In the previous versions of G-XML, there were the descriptions of the G-XML encoding rules, but there were not so many instructions about exchanging G-XML data on the web. Newest G-XML specification addresses this issue and includes the detailed descriptions on how to exchange G-XML contents on the Internet.

1.1.4 Specifying rules for extension of the G-XML specification

Previous versions of G-XML did not satisfy the demands from users to create new tags, or add new attributes to G-XML documents. In addition, this must be done easily, even without the thorough knowledge of XML schema. Newest G-XML addresses this issue and provides the instructions and the rules to validly extend G-XML documents in accordance with user’s different objectives.

1.2 G-XML Conceptual Structure

G-XML Conceptual Structure is shown in Figure 1 below.

GXMLStructure.png

One of the G-XML Components, Geospatial Data Exchange Protocol (Normative) is specified based on GML (or ISO GML). We also have the Rules for Application Schemas (Normative). One of the major characteristics of G-XML is the Geospatial Service Exchange Protocol (Informative), which is located above the Geospatial Data Exchange Protocol. Geospatial Service Exchange Protocol , which imports WSDL, is used to define various web services. Another characteristic of G-XML is the Geospatial Data Exchange Protocol for Mobile Devices (Normative), which is used to exchange geospatial information for mobile devices. This protocol imports the SVG Tiny, and is used in the Map Services or Map Collection Services for Mobile Devices.

1.3 Imported standards in G-XML

G-XML is made to import as many standards as the ones described below. They are the standards from various standardization organizations, such as JIS (Japanese Industrial Standard), ISO, OGC, or W3C.

1.4 Relationship of GML, ISO 19100, and G-XML

Relationship of GML, ISO 19100, and G-XML is shown in Figure 2 below.

GXMLRelationship.png

The ISO 19100 family allows you to share metamodels on geographical information. GML imports these 19100 standards. And the convergence between GML and ISO 19100 family, especially 19118, is under way. GML describes the base types to encode geographical information in XML. And GML is imported by G-XML. G-XML is made to specify rules for application schemas on geographical information. G-XML also imports some other standards which does not necessarily pertain to geographical information, such as WSDL. G-XML provides the XML based protocol for the interoperability between geospatial data and geospatial services.

2. G-XML and goSVG

Especially goSVG (G-XML over SVG) was introduced into G-XML as a protocol of mobile correspondence.

2.1 Why do we need a special protocol modified for mobile devices?

It is said that existing G-XML data are not suited to mobile devices, because they are relatively high-volume. However, low-volume data format for mobile phones is often required. There are also demands to edit/ send location data using mobile phones, or to employ map presentations and POIs with mobile phones. G-XML development team redefined the use-case of the G-XML protocol for mobile devices, clarified the required features for this protocol, and developed the Geospatial Data Exchange Protocol for Mobile Devices.

GXMLMobile.png

Here are some of the use-cases on using the G-XML protocol for mobile phones ...

2.2 Conceptual Structure of Low-volume Encodings for Mobile Devices

The Geospatial Data Exchange Protocol for Mobile Devices includes the two sets of rules. Firstly, the "G-XML Encoding Rules for Mobile Devices" are used in databases, which contain G-XML contents. "G-XML Encoding Rules for Mobile Devices" specify only base maps and POIs, which are picked out from the "G-XML Basic Encoding Rules". Secondly, "G-XML over SVG" is the rule to use geographical data in mobile phones using web services. One can exchange G-XML data between a database and a mobile phone using these two sets of rules in web services. G-XML also provides "Map Service for Mobile Devices" and "Map Collection Service for Mobile Devices". You can edit G-XML data using SVG enabled mobile devices, and transfer them to servers.

GXMLMobileConcept.png

2.3 G-XML Encoding Rules for Mobile Devices

The "G-XML Encoding Rules for Mobile Devices" are the low-volume encodings for mobile devices. Only base maps and POIs are specified in those rules. An example is shown in below.

<?xml version="1.0" encoding="utf-8"?>
<schema targetNamespace="http://www.dpc.or.jp/gxml"
 xmlns="http://www.w3.org/2001/XMLSchema"
 xmlns:gxml="http://www.dpc.or.jp/gxml"
 xmlns:gml="http://www.opengis.net/gml" elementFormDefault="qualified">
  <annotation>
    <appinfo>G-XML3.0 Data Schema -G-XMLdata for Mobilr Profile- 20030131</appinfo>
    <documentation>G-XML Data Schema. Copyright (c) 2001 METI, All Rights Reserved.</documentation>
  </annotation>
  <import namespace="http://www.opengis.net/gml" schemaLocation="gml3.0/base/gml.xsd"/>
  <include schemaLocation="FeatureWithGeometry.xsd"/>
  <include schemaLocation="POI.xsd"/>
  <include schemaLocation="Picture.xsd"/>
  <element name="G-XMLdata" type="gxml:G-XMLdataType"/>
  <complexType name="G-XMLdataType">
    <choice minOccurs="0" maxOccurs="unbounded">
      <element ref="gml:_Feature"/>
      <element ref="gxml:POI"/>
      <element ref="gml:Style"/>
    </choice>
  </complexType>
</schema>

2.4 G-XML over SVG

In G-XML over SVG, the following points were extended so that spatial data equivalent to G-XML Encoding Rules for Mobile Devices could be used.

2.4.1 Spatial reference systems can be supported in SVG.

SVG is a specification to specify the rules for vector graphics. And SRSs, which are necessary to encode geographical information, is out of its scope. Therefore, in G-XML over SVG, SRSs are added to the metadata tags of SVG.

<svg width="320" height="400" viewBox="0 0 160 200" xmlns="http://www.w3.org/2000/svg" xmlns:gxml="http://www.dpc.or.jp/gxml">
  <metadata>
    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:gxml:="http://www.dpc.or.jp/gxml" xmlns:svg="http://wwww.w3.org/2000/svg">
      <rdf:Description>
        <gxml:crs svg:transform="matrix(800,0,0,-1000,-108000,35200)" rdf:resource="http://www.example.org/srs/epsg.xml#4326"/>
      </rdf:Description>
    </rdf:RDF>
  </metadata>
  <!-- Other SVG Elements -->
</svg>
  

In G-XML over SVG, SRS is added to a metadata element using the framework of RDF. The matrix of conversion is also described so that the coordinates and spatial coordinates in SVG can be made to correspond.

2.4.2 POIs can be supported in SVG.

One of the use-cases of geographical information for mobile phones is to use POIs on mobile phones. This is possible using G-XML over SVG. The SVG Tiny "desc" tag can contain the elements such as gml:timeStamp, gml:location, and gxml:thematicProperty

<?xml version="1.0" encoding="UTF-8"?>
<svg width="320" height="400" viewBox="0 0 160 200" xmlns="http://www.w3.org/2000/svg" xmlns:gxml="http://www.dpc.or.jp/gxml">
  <metadata>
    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:gxml:="http://www.dpc.or.jp/gxml" xmlns:svg="http://wwww.w3.org/2000/svg">
      <rdf:Description>
        <gxml:crs svg:transform="matrix(800,0,0,-1000,-108000,35200)" rdf:resource="http://www.example.org/srs/epsg.xml#4326"/>
      </rdf:Description>
    </rdf:RDF>
  </metadata>
  <defs>
    <rect id="mr" fill="none" stroke="pink" stroke-width="2" width="10" height="10"/>
    <rect fill="none" stroke="red" stroke-width="2" x="-5" y="-5" width="10" height="10
" id="mr2"/>
    <image x="-5" y="-5" width="10" height="10" id="mr3" xlink:href="bil.png"/>
  </defs>
  <polyline fill="none" stroke="purple" stroke-width="1" points="10 0 10 200"/>
  <polyline fill="none" stroke="purple" stroke-width="1" points="50 0 50 200"/>
  <polyline fill="none" stroke="purple" stroke-width="1" points="90 0 90 200"/>
  <polyline fill="none" stroke="purple" stroke-width="1" points="0 10 160 10"/>
  <polyline fill="none" stroke="purple" stroke-width="1" points="0 50 160 50"/>
  <polyline fill="none" stroke="purple" stroke-width="1" points="0 90 160 90"/>
  <polyline fill="none" stroke="purple" stroke-width="1" points="0 130 160 130"/>
  <polyline fill="none" stroke="purple" stroke-width="1" points="0 170 160 170"/>
  <rect fill="none" stroke="green" stroke-width="2" x="0" y="0" width="160" height="200
"/>
  <polyline fill="none" stroke="blue" stroke-width="6" points="30,30 130,30 130,170 30,
30"/>
  <text x="10" y="130" font-size="10" fill="orange">
City Hall
</text>
  <!-- G-XML POI over SVG -->
  <use x="10" y="50" xlink:href="#mr2" poi="point">
    <desc>
      <gxml:thematicProperty thematicPropertyTypeName="tel">
        <gxml:ThematicValue>000-000-000</gxml:ThematicValue>
      </gxml:thematicProperty>
    </desc>
  </use>
  <a xlink:href="http://www.w3.org">
    <use x="10" y="90" xlink:href="#mr3" poi="point">
      <desc>
        <gml:timeStamp>
          <gml:TimeInstant>
            <gml:timePosition>2003-02-18T00:00:00:+09:00</gml:timePosition>
          </gml:TimeInstant>
        </gml:timeStamp>
      </desc>
    </use>
  </a>
</svg>

In G-XML over SVG, arbitrary figures constitute the information on a map. Those figures can attach the position information on actual space, and correspondence using the information on SRS described by the metadeta element. In G-XML over SVG, a use element expresses POI. In a use element, it is describing the attribute value of corresponding point information in a desc element, and POI is expressed. Thus, described SVG is the natural usual SVG display application, and can be displayed as graphics. For many mobile users, it may only be displaying these graphics as a map, and the purpose may be attained. Corresponding to G-XML over SVG, it becomes possible with application to match a map with actual space further, or to check the attribute information on POI.

3. Summary

Acknowledgements

Development of G-XML is furthered as the basis of Database Promotion Center's control, and a joint project of industrial, administrative and academic sectors.

Database Promotion Center

G-XML Project Homepage: http://gisclh.dpc.or.jp/gxml/

XHTML rendition created by gcapaper Web Publisher v2.0, © 2001-3 Schema Software Inc.