OpengeoDB mit PostGIS

OpenGeoDB & GISWiki - Das freie Portal für Geoinformatik (GIS)
Wechseln zu: Navigation, Suche

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