คุณแปลง OSM XML เป็น geojson อย่างไร


17

ฉันต้องการใช้เอาต์พุต XML ของเคียวรี Xapi และแสดงโดยใช้ leaflet หรือ polymaps ฉันจะทำสิ่งนั้นได้อย่างไร มีวิธีง่าย ๆ ในการแปลง XML เป็น geojson


ขอบคุณสำหรับคำแนะนำของคุณ ฉันลองแบบเดียวกับที่คุณเสนอ แต่น่าเสียดายที่การแปลงล้มเหลวด้วยข้อผิดพลาดต่อไปนี้ !!! <i> มีใครแนะนำได้ไหม ขอบคุณล่วงหน้าสำหรับเวลา .... </i> C: \ Program Files \ FWTools2.4.7 \ bin> ogr2ogr -f GeoJSON D: \ New.geojson D: \ z.pbf <B> ความล้มเหลว: ไม่สามารถเปิดได้ datasource `z.pbf 'พร้อมไดรเวอร์ต่อไปนี้ - -> ESRI Shapefile - -> ไฟล์ MapInfo - -> UK .NTF <br> -> SDTS <br> -> TIGER <br> -> S57 <br> -> DGN <br> - > VRT <br> -> REC <br> -> หน่วยความจำ <br> -> BNA <br> -> CSV <br> -> NAS <br> -> GML <br> -> GPX <br> -> KML <br> -> GeoJSON <br> ->

สิ่งนี้ดูเหมือนจะเป็นคำถามใหม่มากกว่าคำตอบ หากเป็นกรณีนี้ให้โพสต์เป็นคำถามใหม่
Martin

คำตอบ:


7

OSM2GEO - ตัวแปลง JS เพื่อแปลง OSM เป็น GeoJSON

* OSM2GEO - OSM to GeoJSON converter
* OSM to GeoJSON converter takes in a .osm XML file as input and produces
* corresponding GeoJSON object.
*
* AUTHOR: P.Arunmozhi <>
* DATE : 26 / Nov / 2011
* LICENSE : WTFPL - Do What The F##% You Want To Public License
* LICENSE URL: http://sam.zoy.org/wtfpl/
*
* DEPENDENCY: OSM2GEO entirely depends on jQuery for the XML parsing and
* DOM traversing. Make sure you include <script src="somewhere/jquery.js">
* </script> before you include osm2geo.js
*
* USAGE: This script contains a single function -> geojson osm2geo(osmXML)
* It takes in a .osm (xml) as parameter and returns the corresponding
* GeoJson object."

มอบเครดิตให้แก่ P.Arunmozhi

https://gist.github.com/1396990


10

gdal เวอร์ชันการพัฒนา (ในเดือนมีนาคม 2013) ได้อ่านการสนับสนุนOSMทั้งในรูปแบบ XML ธรรมดาและ PBF

ดังนั้นคุณสามารถแปลงไฟล์ OSM ของคุณด้วย:

ogr2ogr -f GeoJSON myfile.geojson myfile.osm.pbf


8

คุณสามารถแปลง OSM XML เป็น GeoJson ด้วย ogr2ogr หากต้องการแปลงเป็น GeoJSON โดยไม่ได้รับข้อผิดพลาดต่อไปนี้:

ERROR 6: GeoJSON driver doesn't support creating more than one layer

คุณสามารถใช้หนึ่งในคำสั่งต่อไปนี้หรือทั้งหมด:

ogr2ogr -f GeoJSON points.json data.osm.pbf points
ogr2ogr -f GeoJSON lines.json data.osm.pbf lines
ogr2ogr -f GeoJSON multilinestrings.json data.osm.pbf multilinestrings
ogr2ogr -f GeoJSON multipolygons.json data.osm.pbf multipolygons
ogr2ogr -f GeoJSON other_relations.json data.osm.pbf other_relations

6

osmtogeojsonยังเป็นตัวแปลง OSM-to-GeoJSON อีกตัวหนึ่งซึ่งมีข้อดีเล็กน้อยเมื่อเทียบกับ (OSM2GEO) หรือ osm-and-geojson:

  1. สามารถใช้เป็นเครื่องมือบรรทัดคำสั่งเช่นเดียวกับไลบรารี javascript (เบราว์เซอร์และ nodejs)
  2. การสนับสนุนรูปหลายเหลี่ยมที่เหมาะสม
  3. การตรวจจับรูปหลายเหลี่ยมที่ซับซ้อน
  4. เสถียร (สามารถรับมือกับข้อมูล OSM ที่ไม่สมบูรณ์)
  5. ผ่านการทดสอบอย่างดี
  6. ได้เร็วขึ้น

ห้องสมุดมีการใช้งานบนgeojson.ioและoverpass-turbo.euแล้ว


ไม่รองรับข้อมูลประวัติ (.osh.pbf)
Max von Hippel

ฉันรู้ว่าความคิดเห็นนี้มาช้า .. เครื่องมือนี้น่าทึ่ง (ดูเหมือนว่าจะใช้งานได้เสมอ) แต่มันช้า ขณะนี้เรากำลังประเมินทางเลือกเพื่อ osmtogeojson เพราะแม้แต่การแปลงเอาต์พุต Overpass ~ 100MB ใช้เวลาประมาณ 40 วินาทีบนเครื่องที่ทรงพลังพอสมควร เราต้องการตรวจสอบว่า GDAL สามารถเป็นทางเลือกสำหรับเหตุผลด้านความเร็วได้หรือไม่ หากความเร็วไม่ใช่ข้อกังวลฉันแนะนำไลบรารีนี้
Tommy

0

ปลั๊กอิน OpenStreetMap สำหรับ Leafletเป็นอีกวิธีในการทำเช่นนี้ วิธีนี้คุณสามารถใช้แบบสอบถาม Xapi ของคุณโดยตรงในรหัสของคุณ แม้ว่ามันจะเหมาะสมสำหรับชุดข้อมูลขนาดเล็กเท่านั้นเนื่องจากคำขอใช้เวลาสักครู่


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.