OpengeoDB mit PostGIS: Unterschied zwischen den Versionen
HeinzJ (Diskussion | Beiträge) |
HeinzJ (Diskussion | Beiträge) |
||
Zeile 32: | Zeile 32: | ||
WHERE distance(the_geom,SetSRID(MakePoint(9.0, 50.0), 4326)) < 0.1 | WHERE distance(the_geom,SetSRID(MakePoint(9.0, 50.0), 4326)) < 0.1 | ||
</code> | </code> | ||
+ | |||
+ | [[Kategorie:Datenbank]] | ||
+ | [[Kategorie:PostgreSQl]] | ||
+ | [[Kategorie:PostGIS]] |
Version vom 28. März 2008, 23:04 Uhr
Das SQL-Script importiert Daten in eine PostgreSQL-Datenbank. Für die Nutzung in PostGIS wird eine Geometry-Spalte verwendet (Script von Martin Weis, OpenGeoDB Newsgroup)
- -- [SQL] Datenbank anlegen:
- -- DROP DATABASE opengeodb;
CREATE DATABASE opengeodb
WITH OWNER = postgres ENCODING = 'UTF8' TABLESPACE = pg_default;
- Dann (auf der Kommandozeile, die *.sql können je nach Version
- woanders liegen):
- PostGIS
createlang plpgsql opengeodb psql -d opengeodb -f /usr/share/postgresql-8.1-postgis/lwpostgis.sql psql -d opengeodb -f /usr/share/postgresql-8.1-postgis/spatial_ref_sys.sql
- Opengeodb Daten importieren
psql -d opengeodb -f opengeodb-0.2.4d-UTF8-postgres.sql
- -- [SQL] Jetzt muss noch eine Geometry-Column angelegt werden und - -- gefüllt werden: SELECT AddGeometryColumn('opengeodb','geodb_coordinates','the_geom','4326','POINT',2); UPDATE geodb_coordinates SET the_geom = SetSRID(MakePoint(lon, lat), 4326); - -- Indexieren CREATE INDEX coord_geom_idx ON geodb_coordinates USING GIST (the_geom); VACUUM ANALYSE;
- -- Eine Abfrage machen (das dauert hier 155 ms, 21 Treffer) SELECT * FROM geodb_coordinates WHERE distance(the_geom,SetSRID(MakePoint(9.0, 50.0), 4326)) < 0.1