

PostGIS gyorstalpaló¶
A PostGIS a PostgreSQL adatbázist térinformatikai képességekkel bővíti. Kiterjeszti PostgreSQL-t, mely így térbeli adatokat tud tárolni, lekérdezni és manipulálni. Ebben a gyorstalpalóban «PostgreSQL» -t használunk amikor az általános adatbázis funkciókat írjuk le és «PostGIS»-t, amikor a PostGIS által hozzáadott térbeli funkcionalitást.
Ez a gyorstalpaló leírja:
Hogyan hozzunk létre és kérdezzünk le téradatbázist a parancssorból és a QGIS grafikus kliensből.
Hogyan kezeljük az adatokat a pgAdmin kliensből.
Kliens-szerver architektúra¶
PostgreSQL, mint sok más adatbázis kliens-szerver rendszerként működik. A kliens egy kérést küld a szervernek és egy választ kap vissza. Ez ugyanaz a mód, ahogy az internet működik - a böngésző a kliens és a webszerver weblapokat küld vissza. A PostgreSQL esetén a kérések SQL nyelven készülnek és a válasz általában egy adattáblázat az adatbázisból.
Semmi sem korlátozza, hogy a szerver ugyanazon a számtógépen legyen mint a kliens, ez lehetővé teszi, hogy egy gépen használjuk a PostgreSQL-t. A kliense a belső «loopback» hálózati kapcsolaton keresztül kapcsolódik a szerverhez és más számítógépekről el sem érhető, hacsak nem konfigurálja úgy.
Téradatbázis létrehozása¶
A parancssori kliens a terminál emulátor ablakban fut.
Indítson egy terminál emulátort (LXTerminal ebben a verzióban) az Applications menüből az Accessories csoportból. Ez egy Unix burok parancs promptot ad. Írja be:
psql -V
és nyomja meg az entert, hogy lássa a PostgreSQL verziószámát.
Egyetlen PostgreSQL szerver lehetővé teszi a munkaszervezést az adatok külön adatbázisokba rendezésével. Minden egyes adatbázis egy önálló rendszer, saját táblákkal, nézet táblákkal, felhasználókkal és így tovább. Amikor csatlakozik egy PostgreSQL szerverhez meg kell adnia egy adatbázist.
A szerveren tárolt adatbázisok listáját a következő paranccsal kaphatja meg:
psql -l
Számos adatbázist láthat, melyeket valamely a rendszeren lévő projektek használnak. Egy újat fogunk létrehozni ehhez a gyorstalpalóhoz.
Javaslat
A lista a standard unix lapkezelőt használja - szóköz a következő laphoz, b a visszalépéshez, q a kilépéshez, h a súgóhoz.
A PostgreSQL egy segédprogramot, createdb
nyújt adatbázisok létrehozásához. Az adatbázist létre kell hozni mielőtt hozzáadnánk a PostGIS bővítményt. Az adatbázis neve legyen demo
. Ezután a parancs:
createdb demo
Javaslat
A parancssori eszközökhöz általában segítséget kaphatunk a --help
opcióval.
Ha most a psql -l
parancsot futtatja, látnia kell a demo
adatbázist a listában. Még nem adtuk hozzá a PostGIS bővítményt, de a következő részben megtanuljuk ezt.
A PostGIS adatbázist az SQL nyelv használatával hozhat létre. Először töröljük az éppen létrehozott adatbázist a dropdb
parancs használatával, majd használja a psql
parancsot, hogy egy SQL parancs értelmezőt kapjunk:
dropdb demo
psql -d postgres
Ez a postgres
nevű alap rendszer adatbázishoz csatlakozik. Most írja be az SQL parancsot az adatbázis létrehozásához:
postgres=# CREATE DATABASE demo;
Most kapcsolódjunk a postgres
adatbázisból az új demo
adatbázishoz. A jövőben közvetlenül csatlakoztathat hozzá a psql -d demo
paranccsal, de itt van egy ügyes lehetőség a váltásra a psql
parancssorból:
postgres=# \c demo
Javaslat
Nyomjon CTRL + C-t, ha a psql prompt jelenik meg a return megnyomása után. Ez törli a korábbi inputot és újrakezdheti. Valószínűleg egy záró idézőjelre, pontosvesszőre vagy valami másra vár.
Egy információs üzenetet kellene látnia és a prompt megváltozik, hogy mutassa most a demo
adatbázishoz csatlakozik.
Ezután adja hozzá a PostGIS bővítményt:
demo=# create extension postgis;
A PostGIS telepítés ellenőrzéséhez futtassa a következő lekérdezést:
demo=# SELECT postgis_version();
postgis_version
---------------------------------------
2.3 USE_GEOS=1 USE_PROJ=1 USE_STATS=1
(1 row)
A PostGIS sok függvényt, egy táblát és több nézet táblát telepít
Az adatbázisban lévő táblák listájához írja be a \dt
parancsot. Valami hasonlót kellene látnia mint ez:
demo=# \dt
List of relations
Schema | Name | Type | Owner
--------+------------------+-------+-------
public | spatial_ref_sys | table | user
(1 row)
A PostGIS a spatial_ref_sys
táblát a különböző vetületi rendszerek közötti transzformációnál használja. A spatial_ref_sys
tábla a vetületekről tárol információkat és az SQL használhatjuk, hogy gyorsan belenézzünk:
demo=# SELECT srid, auth_name, proj4text FROM spatial_ref_sys LIMIT 10;
srid | auth_name | proj4text
------+-----------+--------------------------------------
3819 | EPSG | +proj=longlat +ellps=bessel +towgs...
3821 | EPSG | +proj=longlat +ellps=aust_SA +no_d...
3824 | EPSG | +proj=longlat +ellps=GRS80 +towgs8...
3889 | EPSG | +proj=longlat +ellps=GRS80 +towgs8...
3906 | EPSG | +proj=longlat +ellps=bessel +no_de...
4001 | EPSG | +proj=longlat +ellps=airy +no_defs...
4002 | EPSG | +proj=longlat +a=6377340.189 +b=63...
4003 | EPSG | +proj=longlat +ellps=aust_SA +no_d...
4004 | EPSG | +proj=longlat +ellps=bessel +no_de...
4005 | EPSG | +proj=longlat +a=6377492.018 +b=63...
(10 rows)
Ez igazolja, hogy téradatbázisunk van.
E tábla mellett több nézet táblát találhat, melyek a postgis engedélyezése során jöttek létre.
Írja be a \dv
parancsot az adatbázisban található nézet táblák listájához. Valami ilyesmit kellene látnia:
demo=# \dv
List of relations
Schema | Name | Type | Owner
--------+-------------------+------+----------
public | geography_columns | view | postgres
public | geometry_columns | view | postgres
public | raster_columns | view | postgres
public | raster_overviews | view | postgres
(4 rows)
A PostGIS számos téradat típus támogat:
geometry - egy olyan adattípus, mely az adatokat egy síkon ábrázolt vektorrajzként tárolja
geography - egy olyan adattípus, mely az adatokat egy gömbön ábrázolt vektorrajzként tárolja
- raster - egy olyan adattípus, mely az adatokat n-dimenziós mátrixként tárolja, ahol minden pozíció (pixel) egy területet reprezentál
a térben és minden sáv (dimenzió) egy értékkel rendelkezik az egyes pixelekre.
A geometry_columns
, geography_columns
és raster_columns
nézettáblák feladata, hogy a PostGIS felé jelezzék mely táblákban van geometry, geography és raszter oszlopok.
Az overview-ek kisebb felbontású táblák a raszter adatokhoz. A raster_overviews
tartalmazza azokat a táblákat és raszter oszlopait és a táblákat, melyhez az áttekintő tartozik. A raszter áttekintő táblákat olyan eszközök használják mint például a QGIS, hogy a kisebb felbontású raszter adatokat gyorsabban töltsék be.
A PostGIS geometry típus az első és még most is a legnépszerűbb típus melyet a PostGIS felhasználók használnak. A figyelmünket erre a típusra fókuszáljuk.
Téradat tábla létrehozása SQL használatával¶
Most hogy van a téradatbázisunk létrehozhatunk néhány térbeli táblát.
Először hozzunk létre egy közönséges adatbázis táblát város adatok tárolásához. Ez a tábla három mezőt tartalmaz - egyet a város azonosító számának. egyet a városnévhez és egy másikat a geometry oszlophoz:
demo=# CREATE TABLE cities ( id int4 primary key, name varchar(50), geom geometry(POINT,4326) );
Hagyományosan a geometria oszlopot geom
-nak nevezzük (a korábbi PostGIS konvenció a the_geom
volt). Ez megadja a PostGIS-nek milyen típusú geometria tartozik az egyes elemekhez (pontok, törtvonalak, területek, stb.), hány dimenziósak (ebben az esetben 2, 3 vagy 4 dimenzióhoz a POINTZ, POINTM vagy POINTZM kell használni) és megadja a vetületet. EPSG:4326 koordinátákat használunk a városokhoz.
Ha most ellenőrzi a cities táblát, láthatja az új oszlopot és azt az információt, hogy tábla aktuálisan egy sort sem tartalmaz.
demo=# SELECT * from cities;
id | name | geom
----+------+----------
(0 rows)
A sorok hozzáadásához SQL mondatokat fogunk használni. A geometry oszlop feltöltéséhez a PostGIS az ST_GeomFromText
függvényét fogjuk használni, hogy a koordinátákat és a vetület azonosítót tartalmazó szöveges formátumból konvertáljuk:
demo=# INSERT INTO cities (id, geom, name) VALUES (1,ST_GeomFromText('POINT(-0.1257 51.508)',4326),'London, England');
demo=# INSERT INTO cities (id, geom, name) VALUES (2,ST_GeomFromText('POINT(-81.233 42.983)',4326),'London, Ontario');
demo=# INSERT INTO cities (id, geom, name) VALUES (3,ST_GeomFromText('POINT(27.91162491 -33.01529)',4326),'East London,SA');
Javaslat
Használja a nyíl billentyűket korábbi parancsok visszahívásához és szerkesztéséhez.
Amint látja, ez nagyon gyorsan unalmassá válik. Szerencsére vannak más, sokkal könnyebb módszerek az adatok PostGIS táblákba juttatására. De most már van három város az adatbázisunkban, és dolgozhatunk azokkal.
Egyszerű lekérdezések¶
Az összes szokásos SQL-művelet alkalmazható a PostGIS táblából származó adatok szelektálásához:
demo=# SELECT * FROM cities;
id | name | geom
----+-----------------+----------------------------------------------------
1 | London, England | 0101000020E6100000BBB88D06F016C0BF1B2FDD2406C14940
2 | London, Ontario | 0101000020E6100000F4FDD478E94E54C0E7FBA9F1D27D4540
3 | East London,SA | 0101000020E610000040AB064060E93B4059FAD005F58140C0
(3 rows)
Ez a koordináták kódolt hexadecimális változatát adja nekünk, nem túl hasznos az embereknek.
Ha újra WKT formátumban szeretne egy pillantást vetni a geometriára, akkor az ST_AsText(geom), vagy az ST_AsEwkt(geom) függvényeket használhatja. Az ST_X(geom), az ST_Y(geom) függvényeket is használhatja a koordináták numerikus értékének kiolvasásához:
demo=# SELECT id, ST_AsText(geom), ST_AsEwkt(geom), ST_X(geom), ST_Y(geom) FROM cities;
id | st_astext | st_asewkt | st_x | st_y
----+------------------------------+----------------------------------------+-------------+-----------
1 | POINT(-0.1257 51.508) | SRID=4326;POINT(-0.1257 51.508) | -0.1257 | 51.508
2 | POINT(-81.233 42.983) | SRID=4326;POINT(-81.233 42.983) | -81.233 | 42.983
3 | POINT(27.91162491 -33.01529) | SRID=4326;POINT(27.91162491 -33.01529) | 27.91162491 | -33.01529
(3 rows)
Térbeli lekérdezések¶
A PostGIS sok térbeli funkcionalitással rendelkező függvényt ad a PostgreSQL-hez. Már láttuk a ST_GeomFromText, mely a WKT formátumot alakítja át geometriává. A legtöbb közülük ST-vel (a térbeli típus) kezdődik, és a PostGIS dokumentáció egyik fejezete sorolja fel őket. Most használjunk egyet egy gyakorlati kérdés megválaszolására - milyen messze van ez a három London egymástól méterben, feltételezve, hogy a föld gömb alakú?
demo=# SELECT p1.name,p2.name,ST_DistanceSphere(p1.geom,p2.geom) FROM cities AS p1, cities AS p2 WHERE p1.id > p2.id;
name | name | st_distancesphere
-----------------+-----------------+--------------------
London, Ontario | London, England | 5875766.85191657
East London,SA | London, England | 9789646.96784908
East London,SA | London, Ontario | 13892160.9525778
(3 rows)
Ez méterben adja meg a távolságot minden város pár között. Nézze meg a «WHERE» részét a sornak, hogyan akadályozza meg, hogy a város távolságát önmagától (ami mind nulla lenne) és a visszafelé távolságot (London, England-ből a távolság London, Ontario-ba ugyanaz mint London, Ontario-ból London, England-be) is megkapjuk. Próbálja ki a WHERE rész nélkül és nézze meg mi történik.
Egy másik függvény segítségével a távolságot kiszámíthatjuk egy ellipszoidon is, ha megadjuk az ellipszoid nevét, a fél nagytengelyét és a lapultságát:
demo=# SELECT p1.name,p2.name,ST_DistanceSpheroid(
p1.geom,p2.geom, 'SPHEROID["GRS_1980",6378137,298.257222]'
)
FROM cities AS p1, cities AS p2 WHERE p1.id > p2.id;
name | name | st_distancespheroid
-----------------+-----------------+----------------------
London, Ontario | London, England | 5892413.63776489
East London,SA | London, England | 9756842.65711931
East London,SA | London, Ontario | 13884149.4140698
(3 rows)
A PostgreSQL parancssorból kilépéshez írja be:
\q
Most visszatért a rendszer konzolhoz:
user@osgeolive:~$
Térkép¶
A PostGIS adatokból térkép készítéshez adatokat fogadni képes kliens szükséges. A legtöbb nyílt forráskódú asztali GIS képes erre - például a QGIS, a gvSIG, a uDIG. Most megmutatjuk hogyan készíthet térképet a QGIS-ből.
Indítsa el a QGIS-t a Desktop GIS menüből és válassza az Add PostGIS layers
-t (PostGIS réteg hozzáadás) a Layer (Réteg) menüből. A PostGIS-ban tárolt Natural Earth adatokhoz kapcsolódás paramétereit már beállítottuk a Connections (Kapcsolatok) legördülő listában. Itt új szerver kapcsolatokat adhat meg és tárolhatja a beállításokat a könnyű újrafelhasználáshoz. Kattintson a Connections (Kapcsolatok) legördülő listára és válassza a Natural Earth-t.Kattintson az Edit
(Szerkeszt) gombra, ha meg akarja tekinteni a Natural Earth-höz tartozó paramétereket vagy egyszerűen kattintson a Connect
-re (Kapcsolódás) gombra a folytatáshoz:

Az adatbázisban lévő téradat táblák listáját kapja meg:

Válassza az ne_10m_lake táblát és kattintson az Add
(Hozzáad) gombra alul (ne a Load
-ra (Betölt) felül - az adatbázis paramétereket tölti be) és ezzel betöltjük a QGIS-be:

A tavak térképét kellene látnia a QGIS-ben. A QGIS nem tudja, hogy ezek tavak, így lehet hogy nem kékre színezi azokat - derítse ki a QGIS dokumentációból, hogyan változtathatja meg a színt. Nagyítson rá a kanadai tavak egy híres csoportjára.
Téradatok importálása az adatbázisba¶
A legtöbb OSGeo asztali eszközben van funkció az egyéb formátumú téradatok fájlból (például ESRI shape) importálására az adatbázisba. Ismét a QGIS használjuk ennek bemutatására.
A QGIS-ben a shape fájlok importálását a praktikus QGIS Database Manager (QGIS adatbázis-kezelő) segítségével tehetjük meg. A menüben találja meg a kezelőt. Menjen a menüben ide Database -> DB Manager -> DB Manager
(Adatbázis->DB kezelő->DB kezelő).
Bontsa szét a PostGIS elemet, majd a NaturalEarth elemet. Ezután kapcsolódik a Natural Earth adatbázishoz. Hagyja üresen a jelszót, ha kérdezik. A public elemben az adatbázis által szolgáltatott rétegek listája van. A fő kezelő ablakot látja. A bal oldalon az adatbázisból választhat egy táblát és használja a füleket a jobb oldalon, hogy megtudjon valamit róluk. A Preview (Előnézet) fül egy kis térképet mutat.

Most a DB kezelőt használjuk egy shape fájl adatbázisba importálásához. Az észak karolinai hirtelen csecsemőhalál-szindróma adatokat fogjuk használni, melyeket az egyik R statisztikai bővítmény tartalmazza.
A Table
menüből válassza az Import layer/file
opciót. Kattintson a ...
gombra és tallózzon a sids.shp
shape fájlhoz az R könyvtárban (a /usr/local/lib/R/site-library/spData/shapes mappában):

Hagyjon minden mást változatlanul és kattintson a Load
-ra

Hagyja a vetületi rendszer kiválasztását az alapértelmezetten (WGS 84 EPSG:4326) és kattintson az OK
-ra. A shape fájlt hiba nélkül kellene importálnia a rendszernek. Zárja be a DB kezelőt és térjen vissza a QGIS fő ablakhoz.
Most töltse be az SIDS adatokat a térképre az «Add PostGIS Layer» opcióval. A rétegek egy kis átrendezésével és némi színezéssel képes lehet a következő kartogram létrehozására a hirtelen csecsemőhalál-szindróma számokból (sid74 vagy sid79 mező) Észak-Karolinában:

Figyelem
Az OSGeoLive verziójától függően (ISO vagy VMDK), nem ugyanazokat a klienseket találják meg. Bár a pgAdmin
a PostgreSQL hivatalos kliense, technikai okokból nem oldható meg az ISO verzióban, így ez csak VMDK verzióban érhető el. Az ISO vezió a phpPgAdmin
klienst tartalmazza, mely ugyanazt az alapfunkcionalitást kínálja.
Ismerje meg a phpPgAdmin-t (ISO & VMDK)¶
Mindkét verzióban használhatja a grafikus adatbázist klienst, a phpPgAdmin-t.
A pgAdmin lehetővé teszi az adattábláinak kezelését az SQL használatával. Az OSGeoLive asztalán lévő Databases mappában találja és indíthatja a phpPgAdmin-t.

Itt lehetősége van új kapcsolatot létrehozni egy PostgreSQL kiszolgálóval, vagy csatlakozhat egy meglévő szerverhez. A piros „X” a PostgreSQL
szerveren azt jelzi, hogy még nem csatlakozott. Kattintson rá, majd írja be a user
felhasználónevet és a user
jelszót.
A kapcsolat létrejötte után láthatja a rendszerben már meglévő adatbázisok listáját.

Ezen a ponton csak a rendszer meglévő adatbázisait láthatja. Az adatbázis nevétől balra található plusz jelre kattintva csatlakozhat. Tegye ezt a natural_earth2
adatbázisnál.
Most láthatja, hogy ebben az adatbázisban csak egy séma található, a public
nevű. Kattintson a Tables
bal oldalán lévő pluszjelre a kibontásához, megtekintheti a sémán belüli összes táblát.

SQL lekérdezés végrehajtása phpPgAdmin-ból (ISO & VMDK)¶
phpPgAdmin a lekérdezések végrehajtásának lehetőségét biztosítja a relációs adatbázisból.
Az adatbázison történő lekérdezés végrehajtásához kattintson vissza a natural_earth2
adatbázishoz majd nyomja meg az SQL
gombot a fő eszközsorból (a bal szélén az adatbázis szimbólumot tartalmazóból).
Az SIDS arányát keressük a születésekhez minden városban 1974-ben. Továbbá rendezzük az eredményt a számított arányok alapján. Ehhez a következő lekérdezést kell végrehajtanunk (küldje el ezt az SQL ablak szövegszerkesztőjéből):
select name, 1000*sid74/bir74 as rate from sids order by rate;
Ezután nyomja meg az Execute gombot.

Ismerje meg a pgAdmint-t (csak VMDK)¶
Használhatja a pgAdmin
grafikus adatbázis klienst a Databeses menüből a nem térbeli adatok lekérdezéséhez és módosításához. Ez a hivatalos kliens a PostgreSQL-hez.
A pgAdmin lehetővé teszi az adattábláinak kezelését az SQL használatával. Az OSGeoLive asztalon a Databases mappában találja és indíthatja a pgAdmin-t.

Írja be a mester jelszót user
.
Itt lehetősége van új kapcsolat létrehozására egy PostgreSQL szerverhez vagy kapcsolódhat egy már ismert szerverhez. Esetünkben az előre definiált localhost
szerverhez fogunk kapcsolódni.
A kapcsolat létrejötte után láthatja a rendszerben már meglévő adatbázisok listáját.

A képen a piros „X” a legtöbb adatbázis előtti azt jelenti, hogy még nem kapcsolódott egyikhez sem (csak az alapértelmezett postgres
adatbázishoz kapcsolódik). Ezen a ponton csak a létező adatbázisokat látja a rendszerben. Az adatbázis nevére duplán kattintva kapcsolódhat ahhoz. Tegye ezt a natural_earth2 adatbázisnál.
Most azt láthatja, hogy a piros X eltűnt és egy „>” jelent meg balra. Ezt megnyomva egy fa jelenik meg mely az adatbázis tartalmát mutatja.
Navigáljon a schemas
részfára és nyissa szét. Ezután nyissa szét a public
sémát. A Tables
-re navigálva és szétnyitva láthatja az összes táblát ebben a sémában.

Egy SQL lekérdezés végrehajtása a pgAdmin-ból (csak VMDK)¶
pgAdmin a lekérdezések végrehajtásának lehetőségét biztosítja a relációs adatbázisból.
Az adatbázison történő lekérdezés végrehajtásához nyomja meg az Query Tool
gombot a fő eszközsorból (az adatbázis szimbólumot tartalmazót).
Az SIDS arányát keressük a születésekhez minden városban 1974-ben. Továbbá rendezzük az eredményt a számított arányok alapján. Ehhez a következő lekérdezést kell végrehajtanunk (küldje el ezt az SQL ablak szövegszerkesztőjéből):
select name, 1000*sid74/bir74 as rate from sids order by rate;
Ezután meg kell nyomnia a jobbra mutató nyíl gombot (lekérdezés végrehajtása).

Foreign Data Wrappers (FDW) megismerése¶
Az adatbázisából hozzáférhet távoli objektumokhoz, mint például táblák más PostgreSQL adatbázisokból vagy távoli adatbázishoz csatlakozás, mint Oracle, MySQL, MS SQL vagy CouchDB. Csatlakozhat ODBC-n keresztül, CSV-hez, térinformatikai adatokhoz, sőt még twitterhez is kapcsolódhat.
Az különböző FDW-k listáját itt találhatja:
Nézzük meg hogyan dolgozik ez. A legegyszerűbb lehetőség egy másik PostgreSQL adatbázishoz csatlakozás.
Itt vannak a lépések:
Először töltse be a bővítményt a használni kívánt Foreign Data Wrapper-hez. Más PostgreSQL adatbázis csatlakozáshoz a postgres_fdw
-re van szüksége
CREATE EXTENSION postgres_fdw;
Hozzon létre a idegen szervert, mely megmondja hol található az adatforrás, melyhez csatlakozni akar
CREATE SERVER fdw_pg_server_osm_local
FOREIGN DATA WRAPPER postgres_fdw
OPTIONS (host '127.0.0.1', port '5432', dbname 'osm_local');
Adja meg a az idegen szerverhez csatlakozásnál használt felhasználót
CREATE USER MAPPING FOR user
SERVER fdw_pg_server_osm_local
OPTIONS (user 'user', password 'user');
Most létre tud hozni egy idegen táblát.
IMPORT FOREIGN SCHEMA public
LIMIT TO (planet_osm_polygon, planet_osm_point) -- or EXCEPT
FROM SERVER fdw_pg_server_osm_local
INTO public;
Nézze meg az új táblákat az adatbázisában és vessen egy pillantás az adatokra egy idegen táblából.
Select * from planet_osm_polygon limit 10;
Csatlakozzon egy távoli OGR adatforráshoz az ogr_fdw-n keresztül¶
Az ogr_fdw
bővítmény lehetővé teszi számos térinformatikai formátumhoz kapcsolódást, mint például KML, GeoPackage, WFS, GeoJSON, GPX, GML és még továbbiak.
További információ az ogr_fdw
-ről:
Új és pontosított: http://blog.cleverelephant.ca/2016/04/ogr-fdw-update.html
Telepítse az ogr_fdw
bővítményt az adatbázisába.
Az adatbázis promptjánál gépelje be:
CREATE EXTENSION ogr_fdw;
Ellenőrizze, mely formátumokat támogatottak:
Nyisson egy terminál ablakot keresse meg az ogr_fdw_info-t:
locate ogr_fdw_info
/usr/lib/postgresql/10/bin/ogr_fdw_info -f
Az eredmény így nézhet ki:
Supported Formats:
-> "OGR_GRASS" (readonly)
-> "PCIDSK" (read/write)
-> "netCDF" (read/write)
-> "JP2OpenJPEG" (readonly)
-> "PDF" (read/write)
-> "MBTiles" (read/write)
-> "EEDA" (readonly)
-> "ESRI Shapefile" (read/write)
-> "MapInfo File" (read/write)
.... many more
FDW létrehozása WFS-hez
Indítsa el a Geoservert
menüből.Nyissa meg a GeoServer-t http://localhost:8082/geoserver/web/
GeoServer WFS képességek http://localhost:8082/geoserver/ows?service=wfs&version=2.0.0&request=GetCapabilities
GeoServer WFS DescribeFeatureType for topp:states http://localhost:8082/geoserver/ows?service=wfs&version=2.0.0&request=DescribeFeatureType&typename=topp:states
GeoServer WFS GetFeature topp:states http://localhost:8082/geoserver/ows?service=wfs&version=2.0.0&request=GetFeature&typename=topp:states
Hozzon létre egy távoli szervert, mely arra a WFS-re hivatkozik, melyhez csatlakozni akar
CREATE SERVER fdw_ogr_server_wfs
FOREIGN DATA WRAPPER ogr_fdw
OPTIONS ( datasource 'WFS:http://localhost:8082/geoserver/ows', format 'WFS' );
Importálja egy paranccsal a WFS elem típusokat mint idegen táblát.
Az import után több idegen táblát lát a sémájában.
IMPORT FOREIGN SCHEMA ogr_all
FROM SERVER fdw_ogr_server_wfs
INTO public;
Vizsgálja meg a topp_states
idegen táblát:
SELECT * FROM topp_states WHERE state_name = 'Minnesota';
Kipróbálandó dolgok¶
Íme néhány további kipróbálandó kihívás önnek:
Próbáljon ki néhány további térbeli függvényt, mint
st_buffer(geom)
,st_transform(geom,25831)
,st_x(geom)
- a teljes dokumentációt a http://postgis.net/documentation/ oldalon találja megExportálja a tábláit shape fájlba a parancssorból a
pgsql2shp
-val.Próbálja ki az adatok importálását/exportálását az adatbázisába a parancssorból a
ogr2ogr
-el.Próbálja ki az adatok importálását az adatbázisba a parancssorból a
shp2pgsql
-el.Próbálja ki az útvonal tervezést a pgRouting segítségével.
Mi a következő?¶
Ez csak az első lépés az úton a PostGIS használatához. Sokkal szélesebb a funkcionalitása amit kipróbálhat.
PostGIS Projekt honlap - http://postgis.net
PostGIS Dokumentáció - http://postgis.net/documentation/