อ่าน 3 นาที
รูปแบบข้อความที่รู้จักกันดีในการแสดงเรขาคณิต
ข้อความที่เป็นที่รู้จัก ( WKT ) เป็น ภาษามาร์กอัป ข้อความ สำหรับแสดงวัตถุ เรขาคณิต เวกเตอร์ รูป แบบไบนารี ที่เทียบเท่ากัน ซึ่งรู้จักกันในชื่อ ไบนารีที่เป็นที่รู้จัก ( WKB )...
รูปแบบข้อความที่รู้จักกันดีในการแสดงเรขาคณิต
ข้อความที่เป็นที่รู้จัก ( WKT ) เป็นภาษามาร์กอัป ข้อความ สำหรับแสดงวัตถุเรขาคณิตเวกเตอร์ รูปแบบไบนารีที่เทียบเท่ากัน ซึ่งรู้จักกันในชื่อไบนารีที่เป็นที่รู้จัก ( WKB ) ใช้ในการถ่ายโอนและจัดเก็บข้อมูลเดียวกันในรูปแบบที่กะทัดรัดกว่า สะดวกต่อการประมวลผลด้วยคอมพิวเตอร์ แต่ไม่สามารถอ่านได้โดยมนุษย์ รูปแบบเหล่านี้ได้รับการกำหนดขึ้นครั้งแรกโดยOpen Geospatial Consortium (OGC) และอธิบายไว้ในSimple Feature Access ของพวกเขา [ 1 ] คำจำกัดความมาตรฐานปัจจุบันอยู่ในมาตรฐาน ISO/IEC 13249-3:2016 [ 2 ]
วัตถุเรขาคณิต
WKT สามารถใช้แทนวัตถุทางเรขาคณิตที่แตกต่างกันดังต่อไปนี้:
- จุด , หลายจุด
- สตริงบรรทัด , สตริงหลายบรรทัด
- รูปหลายเหลี่ยม , รูปหลายเหลี่ยมหลายรูป, สามเหลี่ยม
- พื้นผิวทรงหลายเหลี่ยม
- TIN ( เครือข่ายสามเหลี่ยมไม่สม่ำเสมอ )
- คอลเลกชันเรขาคณิต
พิกัดสำหรับรูปทรงเรขาคณิตอาจเป็น 2 มิติ ( x , y ), 3 มิติ ( x , y , z ), 4 มิติ ( x , y , z , m ) โดยที่ ค่า mเป็นส่วนหนึ่งของระบบอ้างอิงเชิงเส้นหรือ 2 มิติ โดยที่ ค่า m ( x , y , m ) รูปทรงเรขาคณิตสามมิติจะถูกกำหนดโดยตัวอักษร "Z" ต่อท้ายประเภทของรูปทรงเรขาคณิต และรูปทรงเรขาคณิตที่มีระบบอ้างอิงเชิงเส้นจะมีตัวอักษร "M" ต่อท้ายประเภทของรูปทรงเรขาคณิต รูปทรงเรขาคณิตว่างเปล่าที่ไม่มีพิกัดสามารถระบุได้โดยใช้สัญลักษณ์EMPTYต่อท้ายชื่อประเภท
รูปทรงเรขาคณิตแบบ WKT ถูกนำมาใช้ในข้อกำหนดของ OGC อย่างแพร่หลาย และมีอยู่ในแอปพลิเคชันที่นำข้อกำหนดเหล่านี้ไปใช้ ตัวอย่างเช่นPostGISมีฟังก์ชันที่สามารถแปลงรูปทรงเรขาคณิตไปและกลับจากรูปแบบ WKT ทำให้สามารถอ่านได้ง่ายสำหรับมนุษย์
นิยามมาตรฐาน OGC กำหนดให้รูปหลายเหลี่ยมต้องปิดในเชิงโทโพโลยี นอกจากนี้ยังระบุว่าหากวงแหวนเชิงเส้นภายนอกของรูปหลายเหลี่ยมถูกกำหนดในทิศทางทวนเข็มนาฬิกา วงแหวนนั้นจะมองเห็นได้จาก "ด้านบน" วงแหวนเชิงเส้นภายในใดๆ ควรถูกกำหนดในลักษณะตรงกันข้ามกับวงแหวนภายนอก ในกรณีนี้คือตามเข็มนาฬิกา[ 3 ]
| พิมพ์ | ตัวอย่าง | |
|---|---|---|
| จุด | 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), (20 30, 35 35, 30 20, 20 30)) | ||
| พิมพ์ | ตัวอย่าง | |
|---|---|---|
| มัลติพอยต์ | MULTIPOINT ((10 40), (40 30), (20 20), (30 10)) | |
MULTIPOINT (10 40, 40 30, 20 20, 30 10) | ||
| สตริงหลายบรรทัด | MULTILINESTRING ((10 10, 20 20, 10 40), (40 40, 30 30, 40 20, 30 10)) | |
| มัลติโพลีกอน | 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))) | ||
| คอลเลกชันเรขาคณิต | GEOMETRYCOLLECTION (POINT (40 10), LINESTRING (10 10, 20 20, 10 40), POLYGON ((40 40, 20 45, 45 30, 40 40))) | |
ต่อไปนี้เป็นตัวอย่างเพิ่มเติมของสตริง WKT เชิงเรขาคณิต: (หมายเหตุ: แต่ละรายการด้านล่างเป็นรูปทรงเรขาคณิตแต่ละแบบ)
คอลเลกชันเรขาคณิต(จุด(4 6),LINESTRING(4 6,7 10)) จุด ZM (1 1 5 60) จุด M (1 1 80) จุดว่างเปล่า มัลติโพลีกอนว่างเปล่า TRIANGLE((0 0 0,0 1 0,1 1 0,0 0 0)) ดีบุก (((0 0 0, 0 0 1, 0 1 0, 0 0 0)), ((0 0 0, 0 1 0, 1 1 0, 0 0 0))) พื้นผิวโพลีเฮดรัล Z (แพทช์) ((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)) ) ไบนารีที่เป็นที่รู้จักกันดี
โดยทั่วไปแล้ว การแสดงผลเลขฐานสองที่รู้จักกันดี (WKB) จะแสดงในรูปแบบสตริงเลขฐานสิบหก
ไบต์แรกระบุลำดับไบต์ของข้อมูล:
0x00: บิ๊กเอนเดียน0x01: ลิตเติ้ลเอนเดียน
4 ไบต์ถัดไปเป็นจำนวนเต็มไม่ระบุเครื่องหมายขนาด 32 บิตสำหรับประเภทเรขาคณิต ดังที่อธิบายไว้ด้านล่าง:
| พิมพ์ | 2 มิติ | ซ | เอ็ม | ซีเอ็ม |
|---|---|---|---|---|
| เรขาคณิต | 0 | 1000 | 2000 | 3000 |
| จุด | 1 | 1001 | 2001 | 3001 |
| สตริงเส้น | 2 | 1002 | 2002 | 3002 |
| รูปหลายเหลี่ยม | 3 | 1003 | 2003 | 3003 |
| มัลติพอยต์ | 4 | 1004 | 2004 | 3004 |
| สตริงหลายบรรทัด | 5 | 1005 | 2005 | 3005 |
| มัลติโพลีกอน | 6 | 1006 | 2006 | 3006 |
| คอลเลกชันเรขาคณิต | 7 | 1007 | 2007 | 3007 |
| สตริงวงกลม | 8 | 1008 | 2008 | 3008 |
| เส้นโค้งผสม | 9 | 1009 | 2009 | 3009 |
| เส้นโค้งโพลีกอน | 10 | 1010 | 2010 | 3010 |
| มัลติเคิร์ฟ | 11 | 1011 | 2011 | 3011 |
| พื้นผิวหลายชั้น | 12 | 1012 | 2012 | 3012 |
| เส้นโค้ง | 13 | 1013 | 2013 | 3013 |
| พื้นผิว | 14 | 1014 | 2014 | 3014 |
| พื้นผิวทรงหลายเหลี่ยม | 15 | 1015 | 2015 | 3015 |
| ดีบุก | 16 | 1016 | 2016 | 3016 |
| สามเหลี่ยม | 17 | 1017 | 2017 | 3017 |
| วงกลม | 18 | 1018 | 2018 | 3018 |
| สตริงเรขาคณิต | 19 | 1019 | 2019 | 3019 |
| เส้นโค้งวงรี | 20 | 1020 | 2020 | 3020 |
| เส้นโค้ง NURBS | 21 | 1021 | 2021 | 3021 |
| คลอทอยด์ | 22 | 1022 | 2022 | 3022 |
| เส้นโค้งเกลียว | 23 | 1023 | 2023 | 3023 |
| พื้นผิวผสม | 24 | 1024 | 2024 | 3024 |
| เบรปโซลิด | | 1025 | | |
| การจัดวางแบบแอฟฟิน | 102 | 1102 | | |
แต่ละประเภทข้อมูลมีโครงสร้างข้อมูลเฉพาะตัว เช่น จำนวนจุดหรือวงแหวนเชิงเส้น ตามด้วยพิกัดในรูปแบบตัวเลขทศนิยม 64 บิต
ตัวอย่างเช่น รูปทรงเรขาคณิตPOINT(2.0 4.0)แสดงได้ดังนี้: โดยที่:000000000140000000000000004010000000000000
- จำนวนเต็ม 1 ไบต์
00หรือ 0: บิ๊กเอนเดียน - จำนวนเต็ม 4 ไบต์
00000001หรือ 1: POINT (2D) - ค่า float 8 ไบต์
4000000000000000หรือ 2.0: พิกัดx - ค่า float 8 ไบต์
4010000000000000หรือ 4.0: พิกัดy
รูปแบบต่างๆ
- EWKTและEWKB – Extended Well-Known Text/Binary
- รูป แบบเฉพาะ ของ PostGISที่ประกอบด้วยตัวระบุระบบอ้างอิงเชิงพื้นที่ (SRID) และค่าพิกัดสูงสุด 4 ค่า (XYZM) [ 4 ] [ 5 ]ตัวอย่างเช่น: การระบุตำแหน่งพิกัดลองจิจูด/ละติจูดโดยใช้ ระบบพิกัดอ้างอิง WGS 84นอกจากนี้ยังรองรับเส้นโค้งวงกลม ตามองค์ประกอบที่มีชื่อ (แต่ไม่ได้กำหนดไว้อย่างสมบูรณ์) ภายใน WKT ดั้งเดิม: CircularString, CompoundCurve, CurvePolygon และ CompoundSurface [ 6 ]
SRID=4326;POINT(-44.360.1) - AGF Text – Autodesk Geometry Format
- ส่วนขยายของ มาตรฐาน OGC (ในขณะนั้น) เพื่อรวมองค์ประกอบโค้ง ซึ่งส่วนใหญ่ใช้ในMapGuide [ 7 ]
ดูเพิ่มเติม
ลิงก์ภายนอก
- ข้อกำหนดการเข้าถึงคุณสมบัติแบบง่าย
- มาตรฐาน ISO Spatial (มีค่าใช้จ่ายเพิ่มเติม)
- สัญกรณ์ BNF ของ WKT ถูกเก็บถาวรเมื่อวันที่ 3 มกราคม 2023 ที่Wayback Machine
- สัญกรณ์ EBNF ของ WKT
- การแปลงข้อมูลออนไลน์ระหว่างการแสดงผลวัตถุทางเรขาคณิตเก็บถาวรเมื่อวันที่ 26 เมษายน 2019 ที่Wayback Machine
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ รูปแบบข้อความที่รู้จักกันดีในการแสดงเรขาคณิต
ข้อความที่เป็นที่รู้จัก ( WKT ) เป็น ภาษามาร์กอัป ข้อความ สำหรับแสดงวัตถุ เรขาคณิต เวกเตอร์ รูป แบบไบนารี ที่เทียบเท่ากัน ซึ่งรู้จักกันในชื่อ ไบนารีที่เป็นที่รู้จัก ( WKB )...
วัตถุเรขาคณิต
WKT สามารถใช้แทนวัตถุทางเรขาคณิตที่แตกต่างกันดังต่อไปนี้:
ไบนารีที่เป็นที่รู้จักกันดี
โดยทั่วไปแล้ว การแสดงผลเลขฐานสองที่รู้จักกันดี (WKB) จะแสดงในรูปแบบสตริงเลข ฐานสิบหก
รูปแบบต่างๆ
EWKT และ EWKB – Extended Well-Known Text/Binary รูป แบบเฉพาะ ของ PostGIS ที่ประกอบด้วย ตัวระบุระบบอ้างอิงเชิงพื้นที่ (SRID) และค่าพิกัดสูงสุด 4 ค่า (XYZM) [ 4 ] [ 5 ] ตัวอย่างเช่น: การระบุตำแหน่งพิกัดลองจิจูด/ละติจูดโดยใช้ ระบบพิกัดอ้างอิง WGS 84...