WKT | |
---|---|
Kiterjesztés | ..wkt |
MIME típusú | jelentkezés/hét |
Formátum típusa | GIS fájlformátum |
nyílt formátum ? | Igen |
WKB | |
---|---|
Kiterjesztés | ..wkb |
Formátum típusa | GIS fájlformátum |
nyílt formátum ? | Igen |
A WKT ( jól ismert szöveg ) egy szövegformátum vektorgeometria ábrázolására és koordinátarendszerek leírására. Ugyanennek az információnak az adatbázisokban való tárolására a WKB ( Well-Known Binary ) bináris ekvivalens formátumot használják. A formátumok a „ Simple Feature Access ” technológia részét képezik, amelynek célja, hogy közös felületet biztosítson a különböző programok és szolgáltatások közötti térbeli adatok cseréjéhez.
A formátumokat eredetileg az Open Geospatial Consortium (OGC) határozta meg az OGC 99-049-ben [1] . A jelenlegi változat az OGC 06-103r3, az új változat tervezete pedig az OGC 06-104r3.
A WKT a következő geometriai objektumokat ábrázolhatja:
A geometria koordinátái lehetnek 2D ( x , y ), 3D ( x , y , z ), 4D ( x , y , z , m ) az m értékkel , amely a lineáris hivatkozási rendszer része , vagy 2D a érték m ( x , y , m ). A koordinátákat nem tartalmazó üres geometriák EMPTYa típusnév után egy szimbólummal adhatók meg.
A WKT-t minden OGC specifikációban használják, és az ezeket a specifikációkat megvalósító alkalmazások támogatják. Például a PostGIS olyan függvényeket tartalmaz, amelyek képesek átalakítani a geometriát WKT-reprezentációra, illetve WKT-reprezentációra, így azok ember által olvashatóvá válnak.
Hasznos megjegyezni, hogy az OGC szabvány definíciója megköveteli, hogy a sokszög zárt topológiával rendelkezzen. Azt is mondja, hogy ha a LineRing a sokszög nézetben az óramutató járásával ellentétes irányban van meghatározva, akkor az külső lesz. Minden belső (lyuk) vonalgyűrűt a külső gyűrűvel ellentétes módon kell meghatározni, ebben az esetben az óramutató járásával megegyező irányban. [2]
Típusú | Példák | |
---|---|---|
pont | POINT (30 10) | |
VonalString | LINESTRING (30 10, 10 30, 40 40) | |
Poligon | POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10)) | |
POLYGON ((35 10, 45 45, 15 40, 10 20, 35 10), (20 30, 35 35, 30 20, 20 30)) |
Típusú | Példák | |
---|---|---|
MultiPoint | MULTIPOINT ((10 40), (40 30), (20 20), (30 10)) | |
MULTIPOINT (10 40, 40 30, 20 20, 30 10) | ||
MultiLineString | MULTILINESTRING ((10 10, 20 20, 10 40), (40 40, 30 30, 40 20, 30 10)) | |
többsokszögű | MULTIPOLYGON (((30 20, 45 40, 10 40, 30 20)), ((15 5, 40 10, 10 20, 5 10, 15 5))) | |
MULTIPOLYGON (((40 40, 20 45, 45 30, 40 40)), ((20 35, 10 30, 10 10, 30 5, 45 20, 20 35), (30 20, 20 15, 20 25, 30 20))) |
Az alábbiakban néhány további példa a WKT karakterláncokra: (Megjegyzés: Minden alábbi elem külön geometriát képvisel.)
GEOMETRIA GYŰJTEMÉNY (PONT (4 6), VONALSZOROZAT (4 6, 7 10)) PONT ZM (1 1 5 60) M PONT (1 1 80) PONT ÜRES MULTIPOLYGON ÜRES KÖRSZÁR(1 5, 6 2, 7 3) ÖSSZETETT GÖRBE(KÖRSZÁR(0 0,1 1,1 0),(1 0,0 1)) GÖRBESZÖG (KÖRHÚZ(-2 0,-1 -1,0 0,1 -1,2 0,0 2,-2 0),(-1 0,0 0,5,1 0,0 1,-1 0)) MULTIKURVE((5 5,3 5,3 3,0 3),KÖRSZÁR(0 0,2 1,2 2)) HÁROMSZÖG((0 0 0,0 1 0,1 1 0,0 0 0)) TIN (((0 0 0, 0 0 1, 0 1 0, 0 0 0)), ((0 0 0, 0 1 0, 1 1 0, 0 0 0))) POLYÉDERFELÜLET Z ( FOLTOK ((0 0 0, 0 1 0, 1 1 0, 1 0 0, 0 0 0)), ((0 0 0, 0 1 0, 0 1 1, 0 0 1, 0 0 0)), ((0 0 0, 1 0 0, 1 0 1, 0 0 1, 0 0 0)), ((1 1 1, 1 0 1, 0 0 1, 0 1 1, 1 1 1)), ((1 1 1, 1 0 1, 1 0 0, 1 1 0, 1 1 1)), ((1 1 1, 1 1 0, 0 1 0, 0 1 1, 1 1 1)) )A WKT le tudja írni a koordinátarendszereket . Ezt a WKT-formátumot eredetileg az OGC határozta meg 1999-ben, majd 2001-ben kibővítette. Ezt a formátumot néha "WKT 1"-nek is nevezik. A koordinátarendszer-modell fejlődésével és a különböző szoftverekben történő megvalósítás inkompatibilitásával a formátum átdolgozásra került. Az OGC 2015-ben elfogadott egy frissített szabványt, a „koordináta-referenciarendszerek jól ismert szöveges ábrázolását”, amelyet néha „WKT 2-nek” is neveznek. Ezt a szabványt a Nemzetközi Szabványügyi Szervezet közösen tette közzé ISO 19162:2015 néven.
Az alábbi példában a WKT egy kétdimenziós földrajzi koordináta-rendszert ír le a szélességi tengelytől indulva, amelyen túl a hosszúsági tengelyt írja le. Ez a WGS84 földi koordinátarendszer:
GEODCRS["WGS 84", DATUM["Geodéziai Világrendszer 1984", ELLIPSOID["WGS 84", 6378137, 298.257223563, LENGTHUNIT["méter", 1]]], CS [ellipszoid, 2], AXIS["Szélesség (lat)", észak, ORDER[1]], AXIS["Longitude (lon)", kelet, ORDER[2]], ANGLEUNIT["fok", 0,0174532925199433]]A WKT formátum nemcsak földrajzi koordinátarendszereket írhat le, hanem geocentrikus, tervezési, vertikális, időbeli és mérnöki koordinátarendszereket is (például egy hajóhoz kötött koordinátarendszert). A szabvány leírja, hogyan kell kombinálni ezeket a koordinátarendszereket.
A WKB ( jól ismert bináris ) a WKT formátum bináris megjelenítése hexadecimális karakterláncokban.
Az első bájt az adatok bájtsorrendjét határozza meg:
A következő 4 bájt egy 32 bites előjel nélküli egész szám , amely a geometria típusát jelzi:
típus | 2D | Z | M | ZM |
---|---|---|---|---|
geometria | 0000 | 1000 | 2000 | 3000 |
pont | 0001 | 1001 | 2001 | 3001 |
VonalString | 0002 | 1002 | 2002 | 3002 |
Poligon | 0003 | 1003 | 2003 | 3003 |
MultiPoint | 0004 | 1004 | 2004 | 3004 |
MultiLineString | 0005 | 1005 | 2005 | 3005 |
többsokszögű | 0006 | 1006 | 2006 | 3006 |
GeometryCollection | 0007 | 1007 | 2007 | 3007 |
CircularString | 0008 | 1008 | 2008 | 3008 |
Összetett görbe | 0009 | 1009 | 2009 | 3009 |
GörbePolygon | 0010 | 1010 | 2010 | 3010 |
MultiCurve | 0011 | 1011 | 2011 | 3011 |
Multisurface | 0012 | 1012 | 2012 | 3012 |
ív | 0013 | 1013 | 2013 | 3013 |
felület | 0014 | 1014 | 2014 | 3014 |
Poliéderfelület | 0015 | 1015 | 2015 | 3015 |
ÓN | 0016 | 1016 | 2016 | 3016 |
háromszög | 0017 | 1017 | 2017 | 3017 |
Kör | 0018 | 1018 | 2018 | 3018 |
GeodesicString | 0019 | 1019 | 2019 | 3019 |
Elliptikus görbe | 0020 | 1020 | 2020 | 3020 |
NurbsCurve | 0021 | 1021 | 2021 | 3021 |
Clothoid | 0022 | 1022 | 2022 | 3022 |
Spirálgörbe | 0023 | 1023 | 2023 | 3023 |
Összetett felület | 0024 | 1024 | 2024 | 3024 |
BrepSolid | 1025 | |||
Affin elhelyezés | 102 | 1102 |
Minden adattípusnak egyedi adatszerkezete van, például több pont vagy szintvonal, amelyet koordináták követnek 64 bites double formátumban .
Például a geometriát POINT(2.0 4.0)a következőképpen ábrázoljuk: , ahol: 000000000140000000000000004010000000000000
EWKT és EWKB – kiterjesztett jól ismert szöveg/bináris
PostGIS- specifikus formátum , kiterjesztve egy térbeli koordinátarendszer-azonosítóval (SRID) és legfeljebb 4 ordinátaértékkel (XYZM) [3] [4] . Például: SRID=4326;POINT(-44.3 60.1)a hosszúsági/szélességi fokot írja le a WGS 84 koordinátarendszerben .AGF szöveg – Autodesk Geometry Format
Az (akkor releváns) OGC szabvány kiterjesztése a görbékre. Leginkább a MapGuide -ban használják . [5]