OpengeoDB mit PostGIS

OpenGeoDB & GISWiki - Das freie Portal für Geoinformatik (GIS)
Version vom 1. Dezember 2006, 15:53 Uhr von HeinzJ (Diskussion | Beiträge)

(Unterschied) ← Nächstältere Version | Aktuelle Version ansehen (Unterschied) | Nächstjüngere Version → (Unterschied)
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;
  1. Dann (auf der Kommandozeile, die *.sql können je nach Version
  2. woanders liegen):
  3. 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

  1. 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