Well-known text (WKT) — це текстова мова розмітки для представлення об'єктів векторної геометрії. Існує бінарний еквівалент, відомий як well-known binary (WKB), який використовується для передачі та зберігання тієї ж інформації у більш компактній формі, зручній для комп'ютерної обробки, але нечитабельній для людини. Формати були спочатку визначені Open Geospatial Consortium (OGC) і описані в їхньому Simple Feature Access. Поточне стандартне визначення знаходиться в стандарті ISO/IEC 13249-3:2016.
Геометричні об'єкти
WKT може представляти наступні різні геометричні об'єкти:
- Point, MultiPoint (Точка, Мульти Точка)
- LineString, MultiLineString (Лінія, Мульти Лінія)
- Polygon, MultiPolygon, Triangle (Полігон, Мульти Полігон, Трикутник)
- PolyhedralSurface (Багатогранник)
- TIN (Тріангуляційна нерегулярна мережа)
- GeometryCollection (Набір Геометрій)
Координати для геометрій можуть бути 2D (x, y), 3D (x, y, z), 4D (x, y, z, m) зі значенням m, яке є частиною лінійної системи відліку, або 2D зі значенням m (x, y, m). Тривимірні геометрії позначаються літерою «Z» після типу геометрії, а геометрії з лінійною системою відліку мають літеру «M» після типу геометрії. Порожні геометрії, які не містять координат, можуть бути вказані за допомогою символу EMPTY
після назви типу.
Геометрії WKT використовуються у всіх специфікаціях OGC і присутні в застосунках, які реалізують ці специфікації. Наприклад, PostGIS містить функції, які можуть конвертувати геометрії в та з представлення WKT, роблячи їх читабельними для людини.
Стандартне визначення OGC вимагає, щоб полігон був топологічно замкнутим. Також зазначається, що якщо зовнішнє кільце полігону визначено в проти годинникової стрілки, то воно буде видно з «зовні». Будь-які внутрішні кільця повинні бути визначені в протилежному напрямку порівняно із зовнішнім кільцем, у цьому випадку за годинниковою стрілкою.
Тип | Приклади | |
---|---|---|
Точка | POINT (30 10) | |
Лінія | LINESTRING (30 10, 10 30, 40 40) | |
Полігон | POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10)) | |
POLYGON ((35 10, 45 45, 15 40, 10 20, 35 10), |
Тип | Приклади | |
---|---|---|
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), | |
MultiPolygon | MULTIPOLYGON (((30 20, 45 40, 10 40, 30 20)), | |
MULTIPOLYGON (((40 40, 20 45, 45 30, 40 40)), | ||
GeometryCollection | GEOMETRYCOLLECTION (POINT (40 10), |
Нижче наведено деякі інші приклади рядків WKT для опису геометрії: (Примітка: Кожен елемент нижче є окремою геометрією.)
GEOMETRYCOLLECTION(POINT(4 6),LINESTRING(4 6,7 10)) POINT ZM (1 1 5 60) POINT M (1 1 80) POINT EMPTY MULTIPOLYGON EMPTY TRIANGLE((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))) POLYHEDRALSURFACE Z ( PATCHES ((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)) )
Well-known binary
Well-known binary (WKB) представлення зазвичай показуються у вигляді шістнадцяткових рядків.
Перший байт вказує на порядок байтів для даних:
0x00
: big endian0x01
: little endian
Наступні 4 байти є 32-бітним беззнаковим цілим числом для типу геометрії, як описано нижче:
Тип | 2D | Z | M | ZM |
---|---|---|---|---|
Geometry | 0 | 1000 | 2000 | 3000 |
Point | 1 | 1001 | 2001 | 3001 |
LineString | 2 | 1002 | 2002 | 3002 |
Polygon | 3 | 1003 | 2003 | 3003 |
MultiPoint | 4 | 1004 | 2004 | 3004 |
MultiLineString | 5 | 1005 | 2005 | 3005 |
MultiPolygon | 6 | 1006 | 2006 | 3006 |
GeometryCollection | 7 | 1007 | 2007 | 3007 |
CircularString | 8 | 1008 | 2008 | 3008 |
CompoundCurve | 9 | 1009 | 2009 | 3009 |
CurvePolygon | 10 | 1010 | 2010 | 3010 |
MultiCurve | 11 | 1011 | 2011 | 3011 |
MultiSurface | 12 | 1012 | 2012 | 3012 |
Curve | 13 | 1013 | 2013 | 3013 |
Surface | 14 | 1014 | 2014 | 3014 |
PolyhedralSurface | 15 | 1015 | 2015 | 3015 |
TIN | 16 | 1016 | 2016 | 3016 |
Triangle | 17 | 1017 | 2017 | 3017 |
Circle | 18 | 1018 | 2018 | 3018 |
GeodesicString | 19 | 1019 | 2019 | 3019 |
EllipticalCurve | 20 | 1020 | 2020 | 3020 |
NurbsCurve | 21 | 1021 | 2021 | 3021 |
Clothoid | 22 | 1022 | 2022 | 3022 |
SpiralCurve | 23 | 1023 | 2023 | 3023 |
CompoundSurface | 24 | 1024 | 2024 | 3024 |
BrepSolid |
| 1025 |
| |
AffinePlacement | 102 | 1102 |
| |
Кожен тип даних має унікальну структуру даних, таку як кількість точок або лінійних кілець, за якими слідують координати у форматі 64-бітних чисел з рухомою комою.
Наприклад, геометрія POINT(2.0 4.0)
представлена як: 000000000140000000000000004010000000000000
, де:
- 1-байтове ціле число
00
або 0: big endian - 4-байтове ціле число
00000001
або 1: POINT (2D) - 8-байтове число з рухомою комою
4000000000000000
або 2.0: x-координата - 8-байтове число з рухомою комою
4010000000000000
або 4.0: y-координата
Варіації формату
- EWKT та EWKB — Extended Well-Known Text/Binary
- Специфічний формат PostGIS, який включає ідентифікатор системи просторових координат (SRID) та до 4 ординатних значень (XYZM). Наприклад:
SRID=4326;POINT(-44.3 60.1)
для визначення координати довготи/широти з використанням WGS 84 системи координат. Він також підтримує кругові криві, слідуючи елементам, названим (але не повністю визначеним) у початковому WKT: CircularString, CompoundCurve, CurvePolygon та CompoundSurface. - AGF Text — Autodesk Geometry Format
- Розширення до OGC's Standard (на той час), щоб включити криволінійні елементи; найбільш помітно використовується в MapGuide.
Див. також
- Simple Features
- Geography Markup Language
- Well-known text representation of coordinate reference systems
Примітки
- Herring, John R., ред. (28 травня 2011), OpenGIS® Implementation Standard for Geographic information – Simple feature access – Part 1: Common architecture, № OGC 06-103r4, Open Geospatial Consortium, процитовано 28 січня 2019
- Information technology – Database languages – SQL multimedia and application packages – Part 3: Spatial, № ISO/IEC 13249-3:2016 (вид. 5th), ISO, 15 січня 2016, процитовано 28 січня 2019
- Див. OGC Implementation Specification for geographic information — Simple Feature Access, section 6.1.11.1. http://www.opengeospatial.org/standards/sfa
- Postgis/Postgis. GitHub. 6 October 2021.
- ST_GeomFromEWKT. Процитовано 25 листопада 2022.
- Chapter 4: Using PostGIS: Data Management and Queries. postgis.net. Процитовано 30 липня 2021.
- MapGuide API Reference: AGF Text. Процитовано 14 вересня 2023.
Посилання
- Simple Feature Access Specification
- ISO Spatial standard (there is a charge for this)
- BNF Notation of WKT [Архівовано 2023-01-03 у Wayback Machine.]
- EBNF Notation of WKT
- Online conversion between geometry objects representations
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Nemaye perevirenih versij ciyeyi storinki jmovirno yiyi she ne pereviryali na vidpovidnist pravilam proektu Well known text WKT ce tekstova mova rozmitki dlya predstavlennya ob yektiv vektornoyi geometriyi Isnuye binarnij ekvivalent vidomij yak well known binary WKB yakij vikoristovuyetsya dlya peredachi ta zberigannya tiyeyi zh informaciyi u bilsh kompaktnij formi zruchnij dlya komp yuternoyi obrobki ale nechitabelnij dlya lyudini Formati buli spochatku viznacheni Open Geospatial Consortium OGC i opisani v yihnomu Simple Feature Access Potochne standartne viznachennya znahoditsya v standarti ISO IEC 13249 3 2016 Geometrichni ob yektiWKT mozhe predstavlyati nastupni rizni geometrichni ob yekti Point MultiPoint Tochka Multi Tochka LineString MultiLineString Liniya Multi Liniya Polygon MultiPolygon Triangle Poligon Multi Poligon Trikutnik PolyhedralSurface Bagatogrannik TIN Triangulyacijna neregulyarna merezha GeometryCollection Nabir Geometrij Koordinati dlya geometrij mozhut buti 2D x y 3D x y z 4D x y z m zi znachennyam m yake ye chastinoyu linijnoyi sistemi vidliku abo 2D zi znachennyam m x y m Trivimirni geometriyi poznachayutsya literoyu Z pislya tipu geometriyi a geometriyi z linijnoyu sistemoyu vidliku mayut literu M pislya tipu geometriyi Porozhni geometriyi yaki ne mistyat koordinat mozhut buti vkazani za dopomogoyu simvolu EMPTY pislya nazvi tipu Geometriyi WKT vikoristovuyutsya u vsih specifikaciyah OGC i prisutni v zastosunkah yaki realizuyut ci specifikaciyi Napriklad PostGIS mistit funkciyi yaki mozhut konvertuvati geometriyi v ta z predstavlennya WKT roblyachi yih chitabelnimi dlya lyudini Standartne viznachennya OGC vimagaye shob poligon buv topologichno zamknutim Takozh zaznachayetsya sho yaksho zovnishnye kilce poligonu viznacheno v proti godinnikovoyi strilki to vono bude vidno z zovni Bud yaki vnutrishni kilcya povinni buti viznacheni v protilezhnomu napryamku porivnyano iz zovnishnim kilcem u comu vipadku za godinnikovoyu strilkoyu Geometrichni primitivi 2D Tip Prikladi Tochka POINT 30 10 Liniya 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 br 20 30 35 35 30 20 20 30 Bagatokomponentni geometriyi 2D Tip Prikladi 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 br 40 40 30 30 40 20 30 10 MultiPolygon MULTIPOLYGON 30 20 45 40 10 40 30 20 br 15 5 40 10 10 20 5 10 15 5 MULTIPOLYGON 40 40 20 45 45 30 40 40 br 20 35 10 30 10 10 30 5 45 20 20 35 br 30 20 20 15 20 25 30 20 GeometryCollection GEOMETRYCOLLECTION POINT 40 10 br LINESTRING 10 10 20 20 10 40 br POLYGON 40 40 20 45 45 30 40 40 Nizhche navedeno deyaki inshi prikladi ryadkiv WKT dlya opisu geometriyi Primitka Kozhen element nizhche ye okremoyu geometriyeyu GEOMETRYCOLLECTION POINT 4 6 LINESTRING 4 6 7 10 POINT ZM 1 1 5 60 POINT M 1 1 80 POINT EMPTY MULTIPOLYGON EMPTY TRIANGLE 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 POLYHEDRALSURFACE Z PATCHES 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 Well known binaryWell known binary WKB predstavlennya zazvichaj pokazuyutsya u viglyadi shistnadcyatkovih ryadkiv Pershij bajt vkazuye na poryadok bajtiv dlya danih 0x00 big endian 0x01 little endian Nastupni 4 bajti ye 32 bitnim bezznakovim cilim chislom dlya tipu geometriyi yak opisano nizhche Tipi geometriyi ta kodi WKB vkazani nizhche v desyatkovomu formati Tip 2D Z M ZM Geometry 0 1000 2000 3000 Point 1 1001 2001 3001 LineString 2 1002 2002 3002 Polygon 3 1003 2003 3003 MultiPoint 4 1004 2004 3004 MultiLineString 5 1005 2005 3005 MultiPolygon 6 1006 2006 3006 GeometryCollection 7 1007 2007 3007 CircularString 8 1008 2008 3008 CompoundCurve 9 1009 2009 3009 CurvePolygon 10 1010 2010 3010 MultiCurve 11 1011 2011 3011 MultiSurface 12 1012 2012 3012 Curve 13 1013 2013 3013 Surface 14 1014 2014 3014 PolyhedralSurface 15 1015 2015 3015 TIN 16 1016 2016 3016 Triangle 17 1017 2017 3017 Circle 18 1018 2018 3018 GeodesicString 19 1019 2019 3019 EllipticalCurve 20 1020 2020 3020 NurbsCurve 21 1021 2021 3021 Clothoid 22 1022 2022 3022 SpiralCurve 23 1023 2023 3023 CompoundSurface 24 1024 2024 3024 BrepSolid 1025 AffinePlacement 102 1102 Kozhen tip danih maye unikalnu strukturu danih taku yak kilkist tochok abo linijnih kilec za yakimi sliduyut koordinati u formati 64 bitnih chisel z ruhomoyu komoyu Napriklad geometriya POINT 2 0 4 0 predstavlena yak span style background yellow 00 span span style background lightblue 00000001 span span style background lightsalmon 4000000000000000 span span style background lightgreen 4010000000000000 span de 1 bajtove cile chislo span style background yellow 00 span abo 0 big endian 4 bajtove cile chislo span style background lightblue 00000001 span abo 1 POINT 2D 8 bajtove chislo z ruhomoyu komoyu span style background lightsalmon 4000000000000000 span abo 2 0 x koordinata 8 bajtove chislo z ruhomoyu komoyu span style background lightgreen 4010000000000000 span abo 4 0 y koordinataVariaciyi formatuEWKT ta EWKB Extended Well Known Text Binary Specifichnij format PostGIS yakij vklyuchaye identifikator sistemi prostorovih koordinat SRID ta do 4 ordinatnih znachen XYZM Napriklad SRID 4326 POINT 44 3 60 1 dlya viznachennya koordinati dovgoti shiroti z vikoristannyam WGS 84 sistemi koordinat Vin takozh pidtrimuye krugovi krivi sliduyuchi elementam nazvanim ale ne povnistyu viznachenim u pochatkovomu WKT CircularString CompoundCurve CurvePolygon ta CompoundSurface AGF Text Autodesk Geometry Format Rozshirennya do OGC s Standard na toj chas shob vklyuchiti krivolinijni elementi najbilsh pomitno vikoristovuyetsya v MapGuide Div takozhSimple Features Geography Markup Language Well known text representation of coordinate reference systemsPrimitkiHerring John R red 28 travnya 2011 OpenGIS Implementation Standard for Geographic information Simple feature access Part 1 Common architecture OGC 06 103r4 Open Geospatial Consortium procitovano 28 sichnya 2019 Information technology Database languages SQL multimedia and application packages Part 3 Spatial ISO IEC 13249 3 2016 vid 5th ISO 15 sichnya 2016 procitovano 28 sichnya 2019 Div OGC Implementation Specification for geographic information Simple Feature Access section 6 1 11 1 http www opengeospatial org standards sfa Postgis Postgis GitHub 6 October 2021 ST GeomFromEWKT Procitovano 25 listopada 2022 Chapter 4 Using PostGIS Data Management and Queries postgis net Procitovano 30 lipnya 2021 MapGuide API Reference AGF Text Procitovano 14 veresnya 2023 PosilannyaSimple Feature Access Specification ISO Spatial standard there is a charge for this BNF Notation of WKT Arhivovano 2023 01 03 u Wayback Machine EBNF Notation of WKT Online conversion between geometry objects representations