Guillaume wrote: "you should first get the list of all intersections, with their order, x,y, to_street and from_street items"
At the same time you could get the orientation of the streets, by examining the coordinates of the From and To ends of each segment, and calculating the orientation from those. This could accomplish your "near parallel line detection", and would give one more variable to help assess whether the streets are dual carriageways. Good luck, Steve 2009/5/19 Michal Migurski <[email protected]> > Hm, I hadn't considered the buffer idea - that may work pretty well > actually. The trick is to detect the presence of two ways to begin with - I > can see if there are multiple OSM IDs present, but they may represent two > ways placed end-to-end rather than side-by-side. I'll see what can be done > with a buffer, on an intersection or maybe even a whole line segment. > > -mike. > > On May 17, 2009, at 11:51 PM, Guillaume Sueur wrote: > > Hi, >> >> If I understand your problem correctly, you want to get an ordered list >> of single intersections along a street. IMO you should first get the >> list of all intersections, with their order, x,y, to_street and >> from_street items. Then, apply a filter which could work either way : >> - delete consecutive intersections involving the same streets >> - delete identical intersections within a buffer >> or maybe even both ways together. >> >> Hope that helps >> >> Regards, >> >> Guillaume >> >> Michal Migurski a écrit : >> >>> 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 >>> >>> >>> >> > ---------------------------------------------------------------- > michal migurski- [email protected] > 415.558.1610 > > > > > _______________________________________________ > Geowanking mailing list > [email protected] > http://geowanking.org/mailman/listinfo/geowanking_geowanking.org >
_______________________________________________ Geowanking mailing list [email protected] http://geowanking.org/mailman/listinfo/geowanking_geowanking.org
