[Talk-de] PostGIS vs. MySQL [was: Re: OpenLinkMap]
Alexander Matheisen
AlexanderMatheisen at ish.de
So Jan 17 17:51:13 UTC 2010
Am Sonntag 17 Januar 2010 18:45:28 schrieb Sven Geggus:
> Alexander Matheisen <AlexanderMatheisen at 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
Mehr Informationen über die Mailingliste Talk-de