Hi,
This is a geometry question.
I'm working on a personal project using OpenStreetMap data that
requires a cross street index, that is, an ordered list of every
intersection along a street. I have it working fairly well, but I'm
running into a wall with dual carriageways. Here's an example from
Oakland:
http://www.openstreetmap.org/?lat=37.80892&lon=-122.28339&zoom=17&layers=B000FTF
14th Street crosses Adeline, Chestnut, Linden, Filbert, Myrtle, and
Market, but it does so twice and in two different directions. I've
gotten to a point where I'm able to extract a bundle of linestrings
that represent a length of road between two major intersections, e.g.
14 St between Myrtle and Market, but I'm having difficulty detecting
and correcting the potential presence of two overlapping carriageways.
I'm hoping to have something that can deal with regular single-
carriageway streets, this example of 14th St. in Oakland, places where
a single carriageway splits into two (e.g. to the west, where 14th
crosses Kirkham), and so on.
I'm working in Python, with PostGIS and Shapely.
I *think* what I'm aiming for is a near-parallel line detector, so I'm
experimenting with normalizing road orientation to zero and projecting
onto a straight line. It's getting squirrelly and I'm hoping someone
can help point to an existing approach to this problem.
I'm open to the idea that there may be some manual intervention needed.
-mike.
----------------------------------------------------------------
michal migurski- [email protected]
415.558.1610
_______________________________________________
Geowanking mailing list
[email protected]
http://geowanking.org/mailman/listinfo/geowanking_geowanking.org