Kapitel 1. Introduktion

Innehållsförteckning

1.1. Vad är PostGIS?

PostGIS utökar PostgreSQL så att geodata kan lagras, indexeras, frågas efter och bearbetas i databasen. Platsdata lagras tillsammans med vanliga relationsdata, så en rumslig fråga kan använda samma SQL, transaktioner, begränsningar, åtkomstkontroller, säkerhetskopieringsverktyg och programanslutningar som resten av en PostgreSQL-databas.

Huvudtillägget postgis lägger till:

  • geometry för plana koordinatsystem och geography för geodetiska koordinater på jorden.

  • Rumsliga index som låter PostgreSQL-planeraren undvika att genomsöka varje rad när objekt kan filtreras efter plats.

  • Funktioner för mätning, relationer, överlägg, konstruktion och redigering av geometrier, koordinattransformation, klustring och utbyte av geodata.

  • Stöd för vanliga geodatakodningar och -format, inklusive WKT, WKB, GeoJSON, GML, KML, FlatGeobuf, Geobuf och Mapbox Vector Tiles.

Detta gör PostgreSQL till en rumslig databas: program kan ställa både vanliga och platsmedvetna frågor utan att flytta data till ett separat GIS-bearbetningssystem. GIS-skrivbordsprogram, kartservrar, ETL-verktyg och programramverk kan ansluta genom vanliga PostgreSQL-gränssnitt.

1.2. Vad ingår i PostGIS-distributionen?

Den här handboken dokumenterar PostGIS huvudsakliga källkodsdistribution. Beroende på hur PostGIS byggdes och paketerades kan den tillhandahålla flera PostgreSQL-tillägg och kommandoradsverktyg:

postgis

De centrala typerna geometry och geography, rumsliga index och de flesta rumsliga funktioner.

postgis_raster

Rasterlagring, analys, inläsning och export. Rasterstöd använder GDAL och kan utelämnas från en byggning.

postgis_topology

Topologityper och -funktioner enligt SQL/MM för modeller som bygger på delade noder, kanter och ytor.

postgis_sfcgal

Ytterligare bearbetningsfunktioner för 2D och 3D med stöd av det valfria biblioteket SFCGAL.

Inläsare och verktyg

shp2pgsql, pgsql2shp och raster2pgsql flyttar data mellan vanliga filformat och PostGIS. Andra verktyg har stöd för uppgraderingar, profilering och utveckling.

Källkodsträdet innehåller även interna bibliotek som liblwgeom och libpgcommon. De är implementeringslager som delas av PostGIS-komponenter, inte separat utgivna PostgreSQL-tillägg. De flesta användare börjar med att aktivera kärntillägget med CREATE EXTENSION postgis; se Kapitel 2, Installation av PostGIS för tillgängliga komponenter och byggalternativ.

1.3. PostGIS projektfamilj

Den här handboken omfattar huvuddistrobutionen postgis/postgis. Den officiella PostGIS-källkodsorganisationen är även värd för eller speglar kompletterande projekt. Projekten har egna utgåvecykler, installationsinstruktioner och dokumentation; de installeras inte när kärntillägget installeras.

  • Address Standardizer tolkar och normaliserar postadresser. Det flyttades från huvudsakliga PostGIS-källkodsträdet till ett separat arkiv inför utvecklingscykeln för PostGIS 3.7.

  • PostGIS TIGER Geocoder tillhandahåller geokodning och omvänd geokodning av adresser i USA med Census TIGER-data. Det underhålls också separat från huvudsakliga distributionen.

  • H3-pg tillhandahåller PostgreSQL-bindningar för det hierarkiska hexagonala indexeringssystemet H3 och samverkar med PostGIS.

  • PostGIS Java tillhandahåller Java-bindningar för PostGIS-typer.

  • Introduction to PostGIS är den praktiska workshop som underhålls av PostGIS-projektet.

Andra rumsliga PostgreSQL-tillägg kan komplettera PostGIS samtidigt som de förblir oberoende projekt. Exempelvis lägger pgRouting till ruttplanering och grafanalys. Använd varje projekts egen handbok för funktioner och supportpolicy.

1.4. Så här använder du handboken

Handboken är både en guide till PostGIS datamodell och den kompletta referensen för SQL-gränssnittet. Välj en startpunkt utifrån vad du försöker göra:

Om du är ny på rumslig SQL

Börja med workshopen Introduction to PostGIS för en handledning och använd sedan Kapitel 4, Datahantering för att förstå rumsliga typer, koordinatsystem, giltighet, inläsning och index.

Om du installerar eller uppgraderar PostGIS

Läs Kapitel 2, Installation av PostGIS och Kapitel 3, PostGIS-administration. Paketspecifika instruktioner och information om utgåvor med stöd underhålls på PostGIS webbplats.

Om du skriver rumsliga frågor

Läs Kapitel 5, Spatiala frågor om rumsliga relationer och frågemönster som tar hänsyn till index, samt Kapitel 6, Tips om prestanda om vanliga prestandaproblem.

Om du ansluter ett GIS-skrivbordsprogram

Använd klientens aktuella databasdokumentation för dess användargränssnitt och geometri-typer som stöds. Exempelvis omfattar lektionen QGIS DB Manager PostgreSQL-anslutningar, tabellager, SQL-frågelager, import och export. Ett frågelager bör returnera en stabil unik identifierare och en geometrikolumn med känt SRID och geometrityp. Dyra skrivskyddade frågor kan göras tillgängliga via en vy eller materialiserad vy och indexeras efter behov.

Om du behöver en viss funktion

Använd Kapitel 7, PostGIS-referens eller Kapitel 13, Index över specialfunktioner i PostGIS. Funktionssidor anger accepterade typer, dimensionsstöd, standardöverensstämmelse, beroendekrav och tillgänglighet i versioner.

Om du använder en valfri komponent

Se Kapitel 9, Topologi, Kapitel 10, Rasterdatahantering, frågor och applikationer, Kapitel 11, Referens för raster eller Kapitel 8, SFCGAL Funktioner Referens.

Om något går fel

Samla in versionerna som rapporteras av PostGIS_Full_Version och följ Kapitel 14, Rapportering av problem. Se Appendix A, Anteckningar för release när beteendet skiljer sig mellan utgåvegrenar.

1.5. Stöd för standarder

Den här handboken markerar enskilda funktioner som förenliga med rumsliga standarder, så att användare kan avgöra vilket beteende som är portabelt och vilket som är ett PostGIS-tillägg. PostGIS implementerar modellen OGC Simple Features for SQL, inklusive geometritypen, Well-Known Text (WKT), Well-Known Binary (WKB) samt vanliga rumsliga åtkomstfunktioner, konstruktorer, predikat och bearbetningsfunktioner. PostGIS implementerar även många typer och funktioner i SQL/MM Spatial.

PostGIS har stöd för geometri-familjer som definieras av senare standarder, däribland krökt geometri i SQL/MM och PolyhedralSurface, Triangle och TIN i OGC Simple Features Access 1.2. Stödet för dessa geometri-familjer är funktionsspecifikt och varje funktionssida dokumenterar vilka indatatyper och vilken överensstämmelsenivå som stöds.

PostGIS innehåller också välanvända tillägg och integreringar. Exempel på PostGIS-tillägg är Extended WKT (EWKT), Extended WKB (EWKB), SRID-metadata i dessa utökade format, geografi och raster. PostGIS har också stöd för in- och utmatningsformat som definieras av andra standarder, som GeoJSON, GML och KML. Funktionerna dokumenteras var för sig och ska inte tolkas som krav i OGC Simple Features eller SQL/MM om inte den aktuella funktionen eller formatet anger det.

När implementeringen avsiktligt avviker från en standard, eller när en standard lämnar beteendet oklart, beskriver den berörda funktionssidan PostGIS beteende. Kapitel 13, Index över specialfunktioner i PostGIS sammanfattar SQL/MM-överensstämmelse och stöd för geometrityper mellan funktioner.

1.6. Projekt och gemenskap

PostGIS började 2001 som ett forskningsprojekt om rumsliga databaser hos Refractions Research. Det är nu ett OSGeo-projekt som utvecklas av bidragsgivare och organisationer över hela världen. Projektets styrgrupp samordnar utgåvor, projektpolicy och utvecklingens allmänna riktning. Den fullständiga förteckningen över bidragsgivare och sponsorer finns i Kapitel 15, Credits and Acknowledgments i slutet av handboken.

Handboken är den auktoritativa referensen för det utgivna SQL-gränssnittet. Projektets webbplats och källkodsträd tillhandahåller kompletterande material:

  • Dokumentation vägleder läsare till introduktionsinstruktioner, versionsanpassade handböcker, tips, utbildningsmaterial och vanliga frågor.

  • Gemenskap listar sändlistor, chatt, evenemang, videor och andra supportkanaler.

  • Utvecklardokumentation omfattar utvecklingsmiljöer, testning, kodstil, intern funktion, underhåll, styrning, utgåvor och arbete med webbplatsen.