Shapefile do SVG z ArcMap (zachowując atrybuty kraju)

10

Czy ktoś wie, jak wyeksportować plik kształtów Natural Earth 1: 110m do SVG za pomocą ArcMap, zachowując atrybuty kraju?

Z SVG spróbuję przekonwertować go ponownie na RaphaelJS, aby osiągnąć coś takiego:

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

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

Ale jestem nowy w tym wszystkim, więc nie jestem pewien, jak sobie z tym poradzić. Może nie ma innego sposobu, jak ręcznie dodać kody krajów dla JS?

Mark Boulder
źródło

Odpowiedzi:

4

Stworzyłem te mapy, więc mogę opisać proces, którego użyłem. Jest prawdopodobnie lepszy sposób, aby to zrobić, ale oto jak to działa dla mnie:

  1. W ArcMap nadaj każdemu stanowi własną warstwę. Używam identyfikatorów warstw z tabeli atrybutów warstwy źródłowej, a następnie trochę 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...
    

    Tworzy to nową warstwę dla każdego stanu o nazwie z dwuliterowym kodem ISO tej statystyki.

  2. Eksportuję z ArcMap jako Adobe Illustrator. W programie Illustrator warstwy są zachowywane i nazywane tak, jak w ArcMap. W programie Illustrator odpowiednio dopasowuję kształty i dostosowuję style. Następnie wyeksportuj jako SVG.

  3. Uruchom ten skrypt perla, aby przekonwertować plik SVG na przyjazny Json Raphael.js: https://gist.github.com/2655111

I to jest to!

John Emerson
źródło
1

Nie jestem pewien, czy to zadziała dla ciebie (domyślam się, że jest dużo łatwiejszy w użyciu w systemie Linux), ale ten projekt wygląda obiecująco, szczególnie jeśli znasz jakiś Perl:

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

Stev_k
źródło