Usando Data Driven Pages (DDP) para criar um conjunto de mapas com a mesma extensão, mas com diferentes camadas?

9

É possível utilizar a ferramenta Data Driven Pages (DDP) no ArcMap ou ArcPy para criar um conjunto de mapas com a mesma extensão, mas mostrando camadas diferentes?

Para esclarecer, faço regularmente grandes conjuntos de mapas para projetos, todos no mesmo local, geralmente com as mesmas camadas de base, mas modificados para focar em diferentes aspectos da seção relevante de um relatório, como monitoramento de locais, uso da terra, principais recursos, etc. requer que .mxds separados sejam criados e mantidos.

Um sistema do tipo DDP me permitiria utilizar o texto dinâmico e garantir um modelo / saída padrão por toda parte, também facilitaria muito a vida ao atualizar um número de figura geral ou um comentário, pois um relatório é escrito em um .mxd em vez de múltiplo para um cliente.

Estou usando o ArcMap 10.1, mas depois de ler a ajuda on-line do ArcGIS DDP, presumo que isso teria que ser feito com o ArcPy, pois não consegui descobrir como fazê-lo no ArcMap. Estou ciente de que o QGIS possui o Atlas Plugin , embora eu não esteja tão familiarizado com seus recursos, mas felizmente o usaria como alternativa.

MAJ742
fonte
11
Eu acho que o que você está procurando é o script das alterações do documento de mapa em Python usando o conjunto de ferramentas arcpy.mapping . Consulte a referência para criar livros de mapas completos e, mais especificamente, no documento "Livro de mapas simples de séries de referência".
precisa saber é o seguinte

Respostas:

4

Aqui está o meu pensamento no pseudocódigo: você obteria seu MapDocument, ListDataFrames e ListLayers. Em seguida, você poderá percorrer as Camadas, ativar a propriedade Visibilidade da camada, ExportToPDF (ou o que for), desativar a Visibilidade novamente e passar para a próxima Camada. Se você deseja deixar determinadas camadas como camadas base, talvez possa agrupar as que deseja alterar para cada mapa e alternar a visibilidade delas testando IsGroupLayer = True? Talvez alguém tenha um exemplo de código real ...

Neuhausr
fonte
Eu nunca encontrei uma solução embutida no Arc para isso, mas um colega agora desenvolveu um script python para o processo que segue a estrutura básica que você sugere. O script usa grupos para criar uma nova página no pdf e pode ser combinado com o DDP para criar um livro de mapas com um conjunto de mapas para vários sites.
MAJ742
5

Um método sem código

Ao ativar as páginas controladas por dados, você pode especificar uma consulta de definição que depende do número da página. Basta usar essa consulta para ocultar todos os recursos das camadas que você não deseja mostrar.

  1. Configure seus quadros de mapa para estarem no mesmo local, mas com um campo para o número da página. Configuração Páginas controladas por dados com o número da página como o campo de nome.
  2. Se você deseja que uma camada seja ativada para uma página específica, adicione um atributo "page" à sua tabela e defina o número da página relevante.
  3. Adicione uma consulta de definição de página à camada específica com o campo recém-criado.

Quando a página é selecionada, as camadas desejadas se tornam visíveis com base na consulta de definição da página.

Matthew Snape
fonte
2
Eu acho que as consultas de definição de página funcionam bem em alguns casos, mas o problema é que você precisa adicionar o número da página relevante a cada atributo na tabela de dados e não pode mostrar o mesmo recurso em várias páginas, pois só pode fazer referência a uma página de cada vez
MAJ742 23/04