[georss] Why this syntax?

Josh@oklieb josh at oklieb.net
Tue May 9 00:24:11 EDT 2006


Danny,

At one level, the syntaxes look similar. However, their  
expressiveness is quite different. gml:Point (and georss:point which  
maps to it) encode a rigorous and extensible model for representing  
physical entities with geometries in well-defined coordinate  
reference systems. Even though geo:Point is defined nominally in RDF  
as a class with two mandatory properties, most implementers tend to  
remove the geo:Point and use the geo:lat and geo:long properties with  
other objects whose geographic representation is undefined. This is  
not only impractical to extend to any other geometry, but ends up  
handicapping applications because the intent of the "tagger" can be  
difficult to interpret.

The apparent utility of parsing the individual coordinates also  
creates the impression that there is a significance to them  
individually. In some conceptual models, latitude and longitude may  
be considered separate concepts, but as a practical and mathematical  
matter of representing the location of a physical entity, they  
constitute a vector.  The SPARQL example could illustrate (although  
not as shown) the classic example of tricking a scalar query  
processor into performing a bounding box search, but in general it is  
misleading and invalid to query the coordinates separately. Since the  
values really need to be processed together, a whitespace-separated  
or path is the most common representation (e.g. in SVG as well as GML).

--Josh

Now this begs the question of

On May 8, 2006, at 6:49 PM, Danny Ayers wrote:

> Sorry if I'm missing something in the docs, but I can't really see any
> reason for opting for:
>
>  <gml:Point>
>      <gml:pos>45.256 -71.92</gml:pos>
>   </gml:Point>
>
> ...syntax, when the
>
>  <geo:Point>
>    <geo:lat>45.256</geo:lat>
>    <geo:long>-71.92</geo:long>
>  </geo:Point>
>
> ...syntax is not only already "out there", but easier to parse using
> XML tools (and no harder to create). With "valueA valueB valueC..."
> it's necessary to micro-parse and determine what parameter each value
> corresponds to, an unnecessary processing step.
>
> Ok, I believe the space separated approach is that taken by GML, but
> as you are talking about this vocabulary being deployed in RSS and
> Atom, new ground, surely the options are still open.
>
> To put it another way, why not:
>
> <georss:geo>point 45.256 -71.92</georss:geo>
>
> which also happens to be entirely extensible, e.g.:
>
> <georss:geo>polygon 45.256 -110.45 46.46 -109.48 43.84 -109.86 45.8
> -109.2</georss:geo>
>
> One immediate reason for using XML at a more granular level is for
> ease of use with RDF vocabularies (e.g. RSS 1.0). If the components
> are separated, it would be possible to apply a SPARQL query to an RDF
> model directly like this:
>
> SELECT  ?blog ?latitude
> WHERE   {
>    ?blog geo:lat ?latitude .
>    ?blog geo:lat ?longitude .
>    FILTER (?latitude > 50 && ?longitude < -60) .
> }
>
> With the space-separated data, in the RSS 1.0 case you have the
> slightly  bizarre situation where an otherwise directly
> interpretable/queryable document would have to be transformed or have
> some other kind of custom processing before anything useful can be
> done with it.
>
> Cheers,
> Danny.
>
>
> --
>
> http://dannyayers.com
> _______________________________________________
> georss mailing list
> georss at lists.eogeo.org
> http://lists.eogeo.org/mailman/listinfo/georss




More information about the georss mailing list