มีวิธีที่มีประสิทธิภาพในการแปลง Geojson เป็น WKT หรือไม่?


10

ฉันต้องการใช้ ST_GeomFromText () เพื่อโหลดข้อมูลเวกเตอร์ไปยัง PostGIS อย่างไรก็ตามฉันไม่ทราบวิธีการแปลงจากประเภท Geojson เป็น WKT

NB ฉันรู้ว่าฉันสามารถใช้ OGR2OGR เพื่ออัปโหลด geojson โดยตรง แต่ฉันแค่ต้องการยืนยันว่ามีวิธีการแปลงหรือไม่ ขอบคุณ


ogr2ogr อาจเป็นวิธี
ใต้ Radar

มีประสิทธิภาพในทางใด?
RK

1
หากเวอร์ชัน PostGIS ของคุณ> 2 คุณนำเข้า GeoJSON โดยตรง
Devdatta Tengshe

คำตอบ:


11

ทำไมไม่ใช้

  • ST_GeomFromGeoJSON ซึ่งใช้เป็นอินพุตเป็นตัวแทน geojson ของรูปทรงเรขาคณิตและส่งออกวัตถุเรขาคณิต PostGIS
  • ST_AsGeoJSONผกผัน

ดูที่การสร้างการรวบรวมคุณลักษณะ GeoJSON ด้วยฟังก์ชั่น JSON และ PostGISหรือ ST_GeomFromGeoJSONจาก OpenGeo

ในการแปลงเป็น WKT ให้ใช้

  • ST_AsTextย้อนกลับของ ST_GeomFromText () ซึ่งส่งคืนข้อความที่รู้จักกันดี (WKT)
  • ST_AsEWKTเหมือนกับ SRD meta data

สวัสดีขอบคุณมาก ฉันไม่รู้ด้วยซ้ำว่าเครื่องมือนี้ ฉันยังคงเรียนรู้จากคุณในฐานะนักเรียน
Yu Guo

7

ถ้า Python เป็นของคุณคุณสามารถใช้GeoMetได้ เป็นโมดูล Python ที่แปลง GeoJSON เป็น WKT / WKB และในทางกลับกัน คุณสามารถติดตั้งได้โดยตรงจากที่เก็บ github โดยใช้ pip

$ pip install git+git://github.com/larsbutler/geomet.git

นี่คือตัวอย่างการแปลง:

>>> from geomet import wkt
>>> point = {'type': 'Point', 'coordinates': [116.4, 45.2, 11.1]}
>>> wkt.dumps(point, decimals=4)
'POINT (116.4000 45.2000 11.1000)'
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.