Hi Jesse, BaseX only supports GML 2, and AFAIK gml:pos was not introduced until GML 3. You need to use gml:coordinate instead (which uses a comma instead of a space as a delimiter). This works for me:
import module namespace geo = "http://expath.org/ns/geo"; declare namespace gml='http://www.opengis.net/gml'; let $vancouver := <gml:Point srsDimension="2" srsName=" http://www.opengis.net/def/crs/EPSG/0/4326"> <gml:coordinates>49.40,-123.26</gml:coordinates> </gml:Point> let $seattle := <gml:Point srsDimension="2" srsName=" http://www.opengis.net/def/crs/EPSG/0/4326"> <gml:coordinates>47.68,-122.37</gml:coordinates> </gml:Point> return geo:distance($vancouver, $seattle) Also, I would think you would want to format the coordinates as longitude, latitude, however the result is the same (1.9366207682455534) either way. I don't think your SRS information is being handled properly, but sorry I don't really know anything about that. Zach On Wed, Mar 26, 2014 at 5:49 PM, Jesse Clark <je...@corengi.com> wrote: > Hi All, > > I am writing a feature that will rely on geo:distance to give me the > distance between two points of latitude and longitude. > > I am a total n00b to GIS and GML so I may have messed this up, but based > on a bit of research to figure out how to define the coordinate system and > based on the example query from the BaseX > docs<http://docs.basex.org/wiki/Geo_Module#geo:distance> I > came up with the following query as a test: > > import module namespace geo = "http://expath.org/ns/geo"; > declare namespace gml='http://www.opengis.net/gml'; > > let $vancouver := <gml:Point srsDimension="2" srsName=" > http://www.opengis.net/def/crs/EPSG/0/4326"> > <gml:pos>49.40 -123.26</gml:pos> > </gml:Point> > > let $seattle := <gml:Point srsDimension="2" srsName=" > http://www.opengis.net/def/crs/EPSG/0/4326"> > <gml:pos>47.68 -122.37</gml:pos> > </gml:Point> > > return geo:distance($vancouver, $seattle) > > I have this in a file and am trying to execute it from the CLI with: 'RUN > [/path/to/file]' > > It pukes with this error: > > Stopped at [/path/to/file], 12/21: > [GEO:GEO0002] java.lang.NullPointerException > > I am running off of the zip distribution of BaseX so I believe the geo > module should be included. > > Any guidance would be greatly appreciated. > > Best, > -Jesse > > _______________________________________________ > BaseX-Talk mailing list > BaseX-Talk@mailman.uni-konstanz.de > https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk > >
_______________________________________________ BaseX-Talk mailing list BaseX-Talk@mailman.uni-konstanz.de https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk