GeoJSON ↔ WKT Converter
แปลงระหว่าง GeoJSON และ WKT (Well-Known Text) รูปแบบที่จำเป็นสำหรับการทำงานกับ PostGIS, QGIS และฐานข้อมูลเชิงพื้นที่
WKT คืออะไร?
Well-Known Text (WKT) เป็นภาษามาร์กอัปแบบข้อความสำหรับการแสดงวัตถุเรขาคณิตแบบเวกเตอร์ ถูกใช้งานอย่างแพร่หลายใน:
- PostGIS — ส่วนขยายเชิงพื้นที่ของ PostgreSQL
- QGIS — แอปพลิเคชัน GIS บนเดสก์ท็อป
- ฐานข้อมูลเชิงพื้นที่ — Oracle Spatial, SQL Server เป็นต้น
- มาตรฐาน OGC — รูปแบบจาก Open Geospatial Consortium
วิธีการใช้งาน
GeoJSON → WKT
- เลือกโหมด "GeoJSON → WKT"
- วางหรือลากไฟล์ GeoJSON ของคุณ
- คัดลอกผลลัพธ์ WKT เพื่อใช้งานในคำสั่ง PostGIS หรือ QGIS
WKT → GeoJSON
- เลือกโหมด "WKT → GeoJSON"
- วางข้อความ WKT (POINT, LINESTRING, POLYGON เป็นต้น)
- ดาวน์โหลด GeoJSON หรือแสดงตัวอย่างบนแผนที่
คุณสมบัติ
✓ การแปลงแบบสองทิศทาง — GeoJSON ↔ WKT ทั้งสองทิศทาง
✓ รองรับทุกประเภทเรขาคณิต — Point, LineString, Polygon, Multi*, GeometryCollection
✓ แสดงตัวอย่างทันที — ดูผลลัพธ์บนแผนที่แบบโต้ตอบ
✓ พร้อมใช้งานกับ PostGIS — คัดลอก WKT ลงในคำสั่ง SQL ได้โดยตรง
✓ รองรับการแปลงแบบชุด — แปลงหลายฟีเจอร์พร้อมกัน
✓ รองรับ EWKT — WKT แบบขยายพร้อม SRID (เช่น SRID=4326;POINT(...))
กรณีการใช้งาน
🗄️ นำเข้าไปยัง PostGIS — แปลง GeoJSON เป็น WKT สำหรับคำสั่ง SQL INSERT
🗺️ ส่งออกจาก QGIS — แปลง WKT เป็น GeoJSON สำหรับการทำแผนที่บนเว็บ
🔍 การค้นหาเชิงพื้นที่ — ใช้ WKT ในฟังก์ชัน ST_GeomFromText()
📊 การย้ายข้อมูล — โอนย้ายเรขาคณิตระหว่างระบบ GIS ต่างๆ
🧪 การทดสอบ — แปลงเรขาคณิตอย่างรวดเร็วสำหรับการวิเคราะห์เชิงพื้นที่
ตัวอย่างรูปแบบ WKT
Point
POINT(30 10)LineString
LINESTRING(30 10, 10 30, 40 40)Polygon
POLYGON((30 10, 40 40, 20 40, 10 20, 30 10))Polygon with Hole
POLYGON((35 10, 45 45, 15 40, 10 20, 35 10),
(20 30, 35 35, 30 20, 20 30))MultiPoint
MULTIPOINT((10 40), (40 30), (20 20), (30 10))Extended WKT (EWKT)
SRID=4326;POINT(-122.4194 37.7749)การใช้งานร่วมกับ PostGIS
แทรก GeoJSON เป็น WKT
sql
INSERT INTO cities (name, geom)
VALUES ('San Francisco',
ST_GeomFromText('POINT(-122.4194 37.7749)', 4326)
);ค้นหา WKT จาก PostGIS
sql
SELECT name, ST_AsText(geom) as wkt
FROM cities
WHERE ST_DWithin(geom, ST_MakePoint(-122.4, 37.7), 0.1);เคล็ดลับ
💡 ระบุ SRID เสมอ เมื่อใช้ WKT ใน PostGIS (โดยทั่วไปคือ 4326 สำหรับพิกัด GPS)
💡 ใช้รูปแบบ EWKT เพื่อรักษาระบบพิกัด
💡 ตรวจสอบความถูกต้องของ WKT ก่อนแทรกลงในฐานข้อมูลเพื่อหลีกเลี่ยงข้อผิดพลาด
💡 ตรวจสอบลำดับพิกัด — WKT ใช้ (X Y) = (ลองจิจูด ละติจูด)
💡 ระวังความแม่นยำ — ทศนิยมมากเกินไปอาจทำให้การค้นหาเชิงพื้นที่ช้าลง
เครื่องมือที่เกี่ยวข้อง
- GeoJSON ↔ TopoJSON — แปลงไป/กลับจาก TopoJSON
- Shapefile → GeoJSON — แปลง Shapefiles
- CRS Converter — แปลงระบบพิกัด
- GeoJSON Minifier — ลดขนาดไฟล์
รายละเอียดทางเทคนิค
ประเภทเรขาคณิตที่รองรับ
- Point, MultiPoint
- LineString, MultiLineString
- Polygon, MultiPolygon
- GeometryCollection
ระบบพิกัด
- WGS84 (EPSG:4326) — ค่าเริ่มต้น
- EWKT พร้อมการรองรับ SRID สำหรับระบบพิกัดอื่นๆ
รูปแบบที่รองรับสำหรับการนำเข้า
- GeoJSON: Feature, FeatureCollection, Geometry
- WKT: รูปแบบ WKT มาตรฐาน OGC
- EWKT: WKT แบบขยายพร้อมคำนำหน้า SRID
รูปแบบที่รองรับสำหรับการส่งออก
- WKT: ข้อความที่สอดคล้องกับมาตรฐาน OGC
- EWKT: พร้อมคำนำหน้า SRID (ตัวเลือก)
- GeoJSON: รูปแบบมาตรฐาน RFC 7946
คำถามที่พบบ่อย
ถาม: WKT และ EWKT ต่างกันอย่างไร?
ตอบ: EWKT (Extended WKT) มีคำนำหน้า SRID สำหรับระบบพิกัด เช่น SRID=4326;POINT(...) ในขณะที่ WKT มาตรฐานไม่มี SRID
ถาม: สามารถแปลงเรขาคณิต 3D (พร้อมพิกัด Z) ได้หรือไม่?
ตอบ: ได้ ทั้ง WKT และ EWKT รองรับพิกัด Z เช่น POINT Z (30 10 5)
ถาม: ใช้งานได้กับ PostGIS 3.x หรือไม่?
ตอบ: ได้ รูปแบบ WKT เข้ากันได้กับทุกเวอร์ชันของ PostGIS
ถาม: สามารถแปลงชุดข้อมูลขนาดใหญ่ได้หรือไม่?
ตอบ: ได้ แต่สำหรับไฟล์ขนาดใหญ่มาก (>100MB) ควรใช้เครื่องมือบรรทัดคำสั่ง GDAL/OGR
ถาม: ลำดับพิกัดใน WKT เป็นอย่างไร?
ตอบ: WKT ใช้ (X Y) = (ลองจิจูด ละติจูด) ซึ่งเหมือนกับ GeoJSON
ถาม: สามารถใช้กับ Oracle Spatial ได้หรือไม่?
ตอบ: ได้ Oracle Spatial ใช้รูปแบบ WKT ผ่าน SDO_GEOMETRY เช่นกัน
ถาม: จะเพิ่ม SRID ลงในผลลัพธ์ WKT ได้อย่างไร?
ตอบ: เปิดใช้งานตัวเลือก "รูปแบบ EWKT" เพื่อเพิ่มคำนำหน้า SRID ในผลลัพธ์