Шейп-файл в SVG с ArcMap (при сохранении атрибутов страны)

10

Кто-нибудь знает, как экспортировать шейп-файл Natural Earth 1: 110m в SVG с ArcMap, сохраняя при этом атрибуты страны?

Из SVG я попытаюсь снова преобразовать его в RaphaelJS для достижения чего-то вроде:

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

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

Но я новичок во всем этом, поэтому я не знаю, как это сделать. Может быть, нет другого способа, кроме как вручную добавить коды стран для JS?

Марк Боулдер
источник

Ответы:

4

Я создал эти карты, чтобы я мог описать процесс, который я использовал. Возможно, есть лучший способ сделать это, но вот как это работает для меня:

  1. В ArcMap присвойте каждому состоянию свой слой. Я использую идентификаторы слоя из таблицы атрибутов исходного слоя, а затем немного 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...
    

    Это создает новый слой для каждого состояния, названного с помощью двухбуквенного кода ISO этой статистики.

  2. Я экспортирую из ArcMap как Adobe Illustrator. В Illustrator слои сохраняются и называются так же, как в ArcMap. В Illustrator я подбираю размеры соответствующим образом и выполняю тонкую настройку стилей. Затем экспортируйте как SVG.

  3. Запустите этот Perl-скрипт, чтобы конвертировать SVG-файл в дружественный json для Raphael.js: https://gist.github.com/2655111

И это все!

Джон Эмерсон
источник
1

Не уверен, сработает ли это для вас (я предполагаю, что это намного проще в использовании в системе Linux), но этот проект выглядит многообещающе, особенно если вы знаете какой-либо Perl:

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

Stev_k
источник