On 9/11/2016 8:20 AM, Mike N wrote:
Given a PostGIS database populated from OSM data by osm2pgsql, and 2
sets of lines (such as the selection of all footways and the
selection of all roads) what function or series of functions will
result in a list of locations where footways cross roads without any
OSM connecting node? (the equivalent of JOSM's "Crossing Ways" warning)
According to the PostGIS documentation, ST_Intersect() includes
"Touches", which I assume would be sharing an OSM node.
ST_Crosses() might be what I want, but does it exclude the crossings
that share a node? If not, do I just remove all the ST_Intersect()
results that are spatially close to ST_Crosses()?
PostGIS databases do not have topology so there is no notion of
connected linestrings. You can tell if two ways cross each other with
ST_Intersects, and you can tell if two share points by turning the
linestrings into points, but this doesn't tell you if the two share
nodes. If you want that you need either the osm2pgsql slim tables,
pgsnapshot, or some other schema with node information or topology.
_______________________________________________
dev mailing list
[email protected]
https://lists.openstreetmap.org/listinfo/dev