> 1. Den Straßenschwerpunkt bestimmen: Länge der Straße halbieren und > dann die Koordinate auf die Straße legen. > 2. Kreuzungspunkte ermitteln. > > Mir ist heute keine Idee für die erste Variante gekommen, weiß jemand, > wie man das geschickt lösen kann? PostGIS hat sowas doch sicher > eingebaut, oder?
Da fällt mir diese Funktion von PostGIS ein: http://postgis.refractions.net/documentation/manual-svn/ST_Line_Interpolate_Point.html Du uebergibst Ihr einen Linestring und ein Zahl zwischen 0 und 1 - in Deinem Falle 0.5 und Du bekommst einen Punkt auf dem Linestring wieder. Klingt nach genau dem was Du willst. Ich benutze das mit Erfolg beim routen wenn man auf der Karte neben eine oder irgendwo auf eine Straße klickt. Setzt allerdings voraus, dass du diese Linestrings hast, die lassen sich aber relativ einfach berechnen. Hier was ich gemacht habe (auf dem Osmosis-Schema)d SELECT AddGeometryColumn('ways', 'line', 4326, 'LINESTRING', 2); UPDATE ways w SET line = (SELECT st_makeline(geom) FROM (SELECT geom FROM nodes n, way_nodes wn WHERE w.id = wn.way_id AND n.id = wn.node_id ORDER BY wn.sequence_id) AS foo); CREATE INDEX idx_way_line ON ways USING GIST (line); Gruß, Lars _______________________________________________ Talk-de mailing list [email protected] http://lists.openstreetmap.org/listinfo/talk-de

