ArcMap을 사용하여 Shapefile을 SVG로 (국가 속성을 유지하면서)


10

국가 속성을 유지하면서 ArcMap을 사용하여 Natural Earth 1 : 110m 모양 파일을 SVG로 내보내는 방법을 아는 사람이 있습니까?

SVG에서 나는 그것을 RaphaelJS로 다시 변환하여 다음과 같은 것을 달성하려고합니다.

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

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

그러나 나는이 모든 것을 처음 사용하므로 어떻게 해야할지 모르겠습니다. JS의 국가 코드를 수동으로 추가하는 방법 외에 다른 방법이 없을 수도 있습니다.

답변:


4

그지도를 만들어서 내가 사용한 과정을 설명 할 수 있습니다. 더 좋은 방법이 있을지 모르지만 다음과 같이 작동합니다.

  1. ArcMap에서 각 상태에 고유 한 레이어를 지정하십시오. 소스 레이어 속성 테이블에서 레이어 ID를 사용한 다음 약간의 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...
    

    이렇게하면 해당 상태의 2 자리 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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.