Am Sonntag 17 Januar 2010 18:45:28 schrieb Sven Geggus: > Alexander Matheisen <alexandermathei...@ish.de> wrote: > > Für die punktförmigen Objekte wie zur Zeit reicht es eben. > > Ja sicher, aber Du kannst keinen geometrischen index über zwei > Spalten mit lat/long legen. > > Wenn man eine Geometriespalte mit 2D Punktobjekten verwendet hat man > diese Funktionalität halt schon. Mitja macht ja bei seinen Poitools > (poitools.openstreetmap.de) etwas sehr ähnliches wie Du. Er hat mir auch eben schon angeboten, dass wir koorperieren und ich seine Datenbank als Datenbasis nehme. > > Da ist dann zum Beispiel eine Tabelle mit Pubs, die so aussieht: > > osmosis_germany=> \d poi_pub > Tabelle »public.poi_pub« > Spalte | Typ | Attribute > ----------+----------------------+----------------------------------------- > ------------- id | integer | not null default > nextval('poi_pub_id_seq'::regclass) osm_type | character varying(8) | not > null > osm_id | integer | not null > point | geometry | not null > Indexe: > »poi_pub_pkey« PRIMARY KEY, btree (id) > »poi_pub_point_id« gist (point) > Check-Constraints: > »enforce_dims_point« CHECK (ndims(point) = 2) > »enforce_geotype_point« CHECK (geometrytype(point) = 'POINT'::text OR > point IS NULL) »enforce_srid_point« CHECK (srid(point) = 4326) > > Mit folgendem SQL Befehl hole ich dann zum Beispiel alle pubs in > einem bestimmten Gebiet aus der Tabelle: > > SELECT astext(point) FROM poi_pub > WHERE > ST_Intersects(point, SetSRID('BOX2D(8.40241 48.99554, 8.43708 > 49.02211)'::box2d,4326)); > > Gruss > > Sven > Rurseekatze
_______________________________________________ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de