ฉันเพิ่งเขียนห้องสมุดที่แปลงภาพ SVG เป็น GeoJSON (ไม่ถูกต้องเล็กน้อย)
ต้องการให้คุณแก้ไข SVG ของคุณด้วยตนเองเพื่อเพิ่มแท็ก XML สองแท็กที่เชื่อมโยงตำแหน่ง SVG กับ lat / long และมีเครื่องมือบรรทัดคำสั่งเพื่อแปลงไฟล์ แม้คุณจะใช้กลุ่มระดับบนสุดทั้งหมด (ซึ่งเป็นสิ่งที่ Illustrator ส่งออกเลเยอร์เป็น) และส่งออกเป็นไฟล์แยกต่างหาก
การใช้
# First, install Node.js
$ npm install svg2geojson -g # install globally for easy access to executable
$ svg2geojson -h
Usage: svg2geojson [options] file.svg
Options:
-t, --tolerance=0.1 Distance (world meters) to sample curves to. (default: 0.1)
-l, --layers Split top-level groups into separate files. (default: one file)
-o, --stdout Output GeoJSON to stdout. (default: write files with names based on the SVG/layer)
-m, --minimal Make the GeoJSON as small as possible (not pretty).
-p, --precision Number of decimal places to format JSON numbers to. (default:6, as GeoJSON recommends)
-d, --debug Include ids for each SVG element in the features. (default: no properties)
-v, --version Output the version of svg2geojson as the first line on stdout (0.7.0).
-h, --help Show this help message.
$ svg2geojson my.svg
Wrote my.geojson
ข้อ จำกัด
ใช้เทคนิคการยกเลิกการฉายภาพแบบไร้เดียงสา / ไม่ถูกต้องซึ่งสันนิษฐานว่าพื้นที่สี่เหลี่ยมผืนผ้าของรูปภาพสอดคล้องกับพื้นที่ละติจูด / ลองจิจูดเป็นรูปสี่เหลี่ยมผืนผ้า ตัวอย่างเช่นบนสี่เหลี่ยมกว้างประมาณ 1 ไมล์ครึ่งสูงใกล้ซานฟรานซิสโกขอบล่างยาวกว่าขอบบนประมาณ 4 นิ้ว นี่ใกล้พอสำหรับความต้องการของฉัน
ปัจจุบันไม่รองรับ SVG ที่ใช้พา ธ ที่มีคำสั่งBézierหรือสมการกำลังสอง (ฉันกำลังเพิ่มสิ่งเหล่านี้)