Shapefile у SVG з ArcMap (зберігаючи атрибути країни)


10

Хтось знає, як експортувати файл з форматом Natural Earth 1: 110 м до SVG за допомогою ArcMap, зберігаючи атрибути країни?

З SVG я спробую знову перетворити його на RaphaelJS, щоб досягти чогось типу:

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

http://backspace.com/mapapp/javascript_world/js/world_570.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-файлу в Raphael.js friendly json: https://gist.github.com/2655111

І ось це!


1

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

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.