Hi The test select st_hausdorffdistance(st_geometryfromtext('LineString(0 0, 1 0)'), st_geometryfromtext('LineString(0 5, 1 5)')) gives a distance of 5, not 0 as one would expect if HD only measured shape similarity, so I think it still can be used for your task. Something like hibernate spatial should provide programmatic interfaces for common gis functions, but I suspect you have to write native sql if you want to use postgis-specific functions like hausdorffdistance.
Åsmund On Mon, Apr 14, 2014 at 9:36 AM, Rémi Cura <remi.c...@gmail.com> wrote: > Hey, > I'm not so sure Hausdorff distance is what you want. > It measure how similar 2 shapes are, yet you could have two very similar > parts of a road network that are very far away. > In you case you are trying to express both lines that are close to each > other __and__ that are similar in shape. > > Of course the obvious (but painfull) way to go would be to use postgis > topology with the tolerance set to your GPS error (+ width of the road). > This way close path would be merged automatically. > > Cheers, > Rémi-C > > > 2014-04-13 23:56 GMT+02:00 Raghavan Krishnasamylakshmanaperumal < > rkris...@uic.edu>: > > Hi Åsmund, >> >> Thanks for suggesting ST_HausdorffDistance, I tried this function >> directly on the database using sql query and it looks like solving my >> problem. >> >> Are these functions ST_HausdorffDistance/ST_Distance available as java >> APIs? I am trying to use org.postgis(postgis-jdbc-1.3.1.jar) library but >> not sure how to access the above mentioned functions using java. Please >> suggest me which package to look into to make use of these functions >> programmatically? >> >> Thanks in advance. >> >> -Raghavan >> >> >> On Sun, Apr 13, 2014 at 1:45 PM, Åsmund Tokheim <asmun...@gmail.com>wrote: >> >>> Hi >>> >>> I think you should be able to use hausdorff distance >>> http://postgis.net/docs/ST_HausdorffDistance.html to recognize that the >>> green, red and blue lines in your image are all similar. This method will >>> fail to recognize shared portions of a path (e.g. if the blue line at some >>> point diverges from the red and green line), but I'm not sure if this is a >>> requirement for your task >>> >>> Åsmund >>> >>> >>> On Sat, Apr 12, 2014 at 9:41 PM, Raghavan Krishnasamylakshmanaperumal < >>> rkris...@uic.edu> wrote: >>> >>>> Hi, >>>> >>>> I have formed a graph using my GPS traces of running/biking activities >>>> in which I have many edges representing the same path. For example every >>>> time I run from node-A to node-B my GPS traces are noted close to each >>>> other like the red,green,blue lines in the attached image. Actually those 3 >>>> lines are same(representing the same path), so I want to detect such >>>> linestrings automatically and keep only one linestring and ignore others. >>>> Is there any way in PostGIS which can help me to detect the >>>> nearness/closeness of the linestrings? >>>> >>>> -- >>>> Thanks and Regards, >>>> Raghavan KL >>>> >>>> _______________________________________________ >>>> postgis-users mailing list >>>> postgis-users@lists.osgeo.org >>>> http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users >>>> >>> >>> >>> _______________________________________________ >>> postgis-users mailing list >>> postgis-users@lists.osgeo.org >>> http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users >>> >> >> >> >> -- >> Thanks and Regards, >> Raghavan KL >> >> _______________________________________________ >> postgis-users mailing list >> postgis-users@lists.osgeo.org >> http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users >> > > > _______________________________________________ > postgis-users mailing list > postgis-users@lists.osgeo.org > http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users >
_______________________________________________ postgis-users mailing list postgis-users@lists.osgeo.org http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users