Shapefile ke SVG dengan ArcMap (sambil mempertahankan atribut negara)

10

Adakah yang tahu cara mengekspor shapefile Natural Earth 1: 110m ke SVG dengan ArcMap sambil mempertahankan atribut negara?

Dari SVG saya akan mencoba mengubahnya lagi ke RaphaelJS untuk mencapai sesuatu seperti:

http://backspace.com/mapapp/javascript_world/

http://backspace.com/mapapp/javascript_world/js/world_570.js

Tapi saya baru dalam hal ini, jadi saya tidak yakin bagaimana cara melakukannya. Mungkin tidak ada cara selain secara manual menambahkan kode negara untuk JS?

Mark Boulder
sumber

Jawaban:

4

Saya membuat peta-peta itu, sehingga saya bisa menggambarkan proses yang saya gunakan. Mungkin ada cara yang lebih baik untuk melakukannya, tetapi inilah cara kerjanya untuk saya:

  1. Di ArcMap, beri setiap negara lapisan masing-masing. Saya menggunakan ID lapisan dari tabel atribut lapisan sumber dan kemudian sedikit ArcMap Python:

    import arcgisscripting
    gp = arcgisscripting.create()
    gp.MakeFeatureLayer_management('ne_110m_admin_0_countries','AF','"ABBREV" = \'Afg.\'')
    gp.MakeFeatureLayer_management('ne_110m_admin_0_countries','AO', '"ABBREV" = \'Ang.\'')
    gp.MakeFeatureLayer_management('ne_110m_admin_0_countries','AL', '"ABBREV" = \'Alb.\'')
    ...etc...
    

    Ini menciptakan layer baru untuk setiap negara yang dinamai dengan kode ISO dua huruf stat itu.

  2. Saya mengekspor dari ArcMap sebagai Adobe Illustrator. Di Illustrator, layer-layer tersebut dipertahankan dan diberi nama seperti di ArcMap. Di Illustrator saya mengukur bentuk dengan tepat dan melakukan beberapa penyesuaian pada gaya. Kemudian ekspor sebagai SVG.

  3. Jalankan skrip perl ini untuk mengonversi file SVG ke Raphael.js friendly json: https://gist.github.com/2655111

Dan itu dia!

John Emerson
sumber
1

Tidak yakin apakah ini akan bekerja untuk Anda (saya kira itu jauh lebih mudah digunakan pada sistem Linux), tetapi proyek ini terlihat menjanjikan, terutama jika Anda tahu Perl:

https://github.com/kbh3rd/shptosvg/wiki

Stev_k
sumber