De funktioner som anges nedan är de som en användare av PostGIS sannolikt kommer att behöva. Det finns andra funktioner som är nödvändiga stödfunktioner för PostGIS-objekten och som inte är till nytta för en allmän användare.
![]() |
|
PostGIS har påbörjat en övergång från den befintliga namngivningskonventionen till en SQL-MM-centrerad konvention. Som ett resultat av detta har de flesta av de funktioner som du känner till och älskar bytt namn med hjälp av standardprefixet för spatial typ (ST). Tidigare funktioner är fortfarande tillgängliga, men listas inte i detta dokument där uppdaterade funktioner är likvärdiga. De ST_-funktioner som inte listas i den här dokumentationen är föråldrade och kommer att tas bort i en framtida version, så SLUTA ANVÄNDA DEM. |
I det här avsnittet listas de anpassade PostgreSQL-datatyperna som installerats av PostGIS för att representera spatiala data.
Varje datatyp beskriver sitt type casting-beteende. En type cast konverterar värden av en datatyp till en annan typ. PostgreSQL tillåter att definiera casting-beteende för anpassade typer, tillsammans med de funktioner som används för att konvertera typvärden. Casts kan ha automatiskt beteende, vilket möjliggör automatisk konvertering av ett funktionsargument till en typ som stöds av funktionen.
Vissa casts har ett explicit beteende, vilket innebär att castet måste anges med syntaxen CAST(myval As sometype
) eller myval
::sometype. Explicit casting undviker problemet med tvetydiga casts, som kan uppstå när man använder en överladdad funktion som inte stöder en viss typ. En funktion kan t.ex. acceptera en box2d eller en box3d, men inte en geometry. Eftersom geometry har en automatisk cast till båda box-typerna, ger detta ett "tvetydig funktion"-fel. För att förhindra felet ska du använda en explicit cast till önskad box-typ.
Alla datatyper kan castas till text
, så detta behöver inte anges explicit.
Dessa funktioner hjälper till att definiera tabeller som innehåller geometrikolumner.
geometry_dump-rader
för komponenterna i en geometri.
geometry_dump-rader
för koordinaterna i en geometri.
geometry_dump-rader
för segmenten i en geometri.
geometry_dump-rader
för de yttre och inre ringarna i en polygon.
Dessa funktioner skapar modifierade geometrier genom att ändra typ, struktur eller hörn.
Dessa funktioner testar om geometrierna är giltiga enligt OGC SFS-standarden. De ger också information om ogiltighetens art och plats. Det finns också en funktion för att skapa en giltig geometri från en ogiltig.
valid_detail-rad
som anger om en geometri är giltig eller om den inte är det, en orsak och en plats.
Dessa funktioner arbetar med det spatiala referenssystemet för geometrier som definieras i tabellen spatial_ref_sys
.
Dessa funktioner skapar geometriska objekt från olika text- eller binärformat.
LINESTRING
från WKB med den angivna SRID
Dessa funktioner konverterar geometriska objekt till olika text- eller binärformat.
TRUE
om A:s 2D-begränsningsbox skär B:s 2D-begränsningsbox.
TRUE
om en geometris (cachelagrade) 2D-begränsningsbox skär en 2D-begränsningsbox med flytande precision (BOX2DF).
TRUE
om en 2D-gränsbox med flytande precision (BOX2DF) skär en geometris (cachelagrade) 2D-gränsbox.
TRUE
om två 2D-begränsningsboxar med flytande precision (BOX2DF) skär varandra.
TRUE
om A:s n-D-gränsbox skär B:s n-D-gränsbox.
TRUE
om en geometris (cachade) n-D-begränsningsbox skär en n-D-begränsningsbox med flytande precision (GIDX).
TRUE
om en n-D avgränsningsbox med flytande precision (GIDX) skär en geometris (cachelagrade) n-D avgränsningsbox.
TRUE
om två gränsboxar (GIDX) med n-D floatprecision skär varandra.
TRUE
om A:s avgränsande box överlappar eller ligger till vänster om B:s.
TRUE
om A:s avgränsande box överlappar eller ligger under B:s.
TRUE
om A:s avgränsande box överlappar eller är till höger om B:s.
TRUE
om A:s avgränsande box ligger strikt till vänster om B:s.
TRUE
om A:s avgränsande box är strikt under B:s.
TRUE
om koordinaterna och koordinatordningen för geometri/geografi A är samma som koordinaterna och koordinatordningen för geometri/geografi B.
TRUE
om A:s avgränsande box ligger strikt till höger om B:s.
TRUE
om A:s avgränsande box ingår i B:s.
TRUE
om en geometris 2D-begränsningsbox ingår i en 2D-begränsningsbox med flytande precision (BOX2DF).
TRUE
om en 2D-gränsbox med flytande precision (BOX2DF) ingår i en geometris 2D-gränsbox.
TRUE
om en avgränsande 2D-box med flytande precision (BOX2DF) ingår i en annan avgränsande 2D-box med flytande precision.
TRUE
om A:s avgränsande box överlappar eller ligger ovanför B:s.
TRUE
om A:s avgränsande box är strikt över B:s.
TRUE
om A:s avgränsande box innehåller B:s.
TRUE
om en geometris 2D-bindningsbox innehåller en 2D-bindningsbox med floatprecision (GIDX).
TRUE
om en 2D-gränsbox med flytande precision (BOX2DF) innehåller en geometris 2D-bondingbox.
TRUE
om en avgränsande 2D-box med flytande precision (BOX2DF) innehåller en annan avgränsande 2D-box med flytande precision (BOX2DF).
TRUE
om A:s avgränsande box är densamma som B:s.
Dessa funktioner bestämmer spatiala relationer mellan geometrier.
Dessa funktioner beräknar mätningar av avstånd, yta och vinklar. Det finns också funktioner för att beräkna geometriska värden som bestäms av mätningar.
ST_Length
ST_Perimeter
.
Dessa funktioner beräknar resultat som uppstår vid överlagring av två geometrier. Dessa kallas också för punktuppsättningsteoretiska booleska operationer. Vissa relaterade funktioner tillhandahålls också.
Dessa funktioner beräknar geometriska constructions eller ändrar geometrins storlek eller form.
Dessa funktioner arbetar med uppsättningar av polygonal geometri som bildar "implicita täckningar". För att bilda en giltig täckning får polygonerna inte överlappa varandra och hörnen på intilliggande kanter måste matcha varandra exakt. Täckningar är snabba att bearbeta och kan hanteras med fönsterfunktioner, som behåller täckningens topologi inuti fönsterpartitionen samtidigt som kanterna ändras.
Dessa funktioner ändrar geometrins position och form med hjälp av affina transformationer.
Dessa funktioner implementerar klusteralgoritmer för uppsättningar av geometrier.
Dessa funktioner producerar eller arbetar med begränsningsboxar. De kan också tillhandahålla och acceptera geometrivärden genom att använda automatiska eller explicita casts.
Dessa funktioner stöder arbete med banor. En bana är en linjär geometri med ökande mått (M-värde) på varje koordinat. Spatialt-temporala data kan modelleras genom att använda relativa tider (t.ex. epoken) som mätvärden.
Dessa funktioner rapporterar och uppgraderar PostGIS-versioner.
I detta avsnitt listas anpassade PostGIS Grand Unified Custom Variables (GUC). Dessa kan ställas in globalt, per databas, per session eller per transaktion. Bäst att ställa in på global nivå eller databasnivå.
För fler exempel på användning, se SQL SET och SQL ALTER SYSTEM
Dessa funktioner är verktyg för felsökning och reparation av geometridata. De behövs bara om geometridata är korrumperade på något sätt, vilket aldrig ska hända under normala omständigheter.