[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