Shapefile para SVG com ArcMap (mantendo os atributos do país)

10

Alguém sabe como exportar o shapefile Natural Earth 1: 110m para SVG com ArcMap, mantendo os atributos do país?

Do SVG, vou tentar convertê-lo novamente para o RaphaelJS para obter algo como:

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

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

Mas eu sou novo em tudo isso, então não tenho certeza de como fazê-lo. Talvez não haja outra maneira senão adicionar manualmente os códigos de país para o JS?

Mark Boulder
fonte

Respostas:

4

Criei esses mapas para poder descrever o processo que usei. Provavelmente existe uma maneira melhor de fazer isso, mas eis como funciona para mim:

  1. No ArcMap, dê a cada estado sua própria camada. Eu uso IDs de camada da tabela de atributos da camada de origem e, em seguida, um pouco do 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...
    

    Isso cria uma nova camada para cada estado nomeado com o código ISO de duas letras desse status.

  2. Eu exporto do ArcMap como Adobe Illustrator. No Illustrator, as camadas são preservadas e nomeadas como estavam no ArcMap. No Illustrator, dimensiono as formas adequadamente e faço alguns ajustes nos estilos. Em seguida, exporte como SVG.

  3. Execute este script perl para converter o arquivo SVG em json amigável do Raphael.js: https://gist.github.com/2655111

E é isso!

John Emerson
fonte
1

Não tenho certeza se isso funcionará para você (acho que é muito mais fácil usar em um sistema Linux), mas esse projeto parece promissor, especialmente se você conhece algum Perl:

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

Stev_k
fonte