OpengeoDB mit PostGIS: Unterschied zwischen den Versionen
OpenGeoDB & GISWiki - Das freie Portal für Geoinformatik (GIS)
HeinzJ (Diskussion | Beiträge) |
K (Formatierung korrigiert; keine inhaltlichen Änderungen) |
||
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt) | |||
Zeile 2: | Zeile 2: | ||
<code mysql> | <code mysql> | ||
− | - -- [SQL] Datenbank anlegen: | + | - -- [SQL] Datenbank anlegen: |
− | - -- DROP DATABASE opengeodb; | + | - -- DROP DATABASE opengeodb; |
− | CREATE DATABASE opengeodb | + | CREATE DATABASE opengeodb |
− | + | WITH OWNER = postgres | |
− | + | ENCODING = 'UTF8' | |
− | + | TABLESPACE = pg_default; | |
− | # Dann (auf der Kommandozeile, die *.sql können je nach Version | + | # Dann (auf der Kommandozeile, die *.sql können je nach Version |
− | # woanders liegen): | + | # woanders liegen): |
− | # PostGIS | + | # PostGIS |
− | createlang plpgsql opengeodb | + | 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/lwpostgis.sql |
− | psql -d opengeodb -f /usr/share/postgresql-8.1-postgis/spatial_ref_sys.sql | + | psql -d opengeodb -f /usr/share/postgresql-8.1-postgis/spatial_ref_sys.sql |
− | # Opengeodb Daten importieren | + | # Opengeodb Daten importieren |
− | psql -d opengeodb -f opengeodb-0.2.4d-UTF8-postgres.sql | + | psql -d opengeodb -f opengeodb-0.2.4d-UTF8-postgres.sql |
− | - -- [SQL] Jetzt muss noch eine Geometry-Column angelegt werden und | + | - -- [SQL] Jetzt muss noch eine Geometry-Column angelegt werden und |
− | - -- gefüllt werden: | + | - -- gefüllt werden: |
− | SELECT | + | SELECT |
− | AddGeometryColumn('opengeodb','geodb_coordinates','the_geom','4326','POINT',2); | + | AddGeometryColumn('opengeodb','geodb_coordinates','the_geom','4326','POINT',2); |
− | UPDATE geodb_coordinates SET the_geom = SetSRID(MakePoint(lon, lat), 4326); | + | UPDATE geodb_coordinates SET the_geom = SetSRID(MakePoint(lon, lat), 4326); |
− | - -- Indexieren | + | - -- Indexieren |
− | CREATE INDEX coord_geom_idx ON geodb_coordinates USING GIST (the_geom); | + | CREATE INDEX coord_geom_idx ON geodb_coordinates USING GIST (the_geom); |
− | VACUUM ANALYSE; | + | VACUUM ANALYSE; |
− | - -- Eine Abfrage machen (das dauert hier 155 ms, 21 Treffer) | + | - -- Eine Abfrage machen (das dauert hier 155 ms, 21 Treffer) |
− | SELECT * FROM geodb_coordinates | + | SELECT * FROM geodb_coordinates |
− | 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]] |
Aktuelle Version vom 23. Dezember 2013, 11:12 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