Mais

Problemas ao renomear camadas usando arcpy


Executando ArcMap 10.1

Então, eu tenho um monte de camadas que têm o mesmo nome. Estou tentando renomeá-los para que tenham nomes que realmente signifiquem algo.

Tudo funciona bem até que seja hora de os nomes realmente mudança. Nada acontece, e não sei por quê.

Aqui está o meu código:

import arcpy mxd = arcpy.mapping.MapDocument (r "C:  Usuários  Usuário  Documentos  GISProj  Map6.mxd") names = ['Alexander', 'Avery', 'Buncombe', 'Burke', 'Caldwell' , 'Cleveland', 'Durham', 'Gaston', 'Henderson', 'Jackson', 'Macon', 'Orange', 'Polk', 'Rutherford', 'Stokes', 'Surry', 'Transilvânia', ' Watauga ',' Wilkes '] names.reverse () cntys = arcpy.mapping.ListLayers (mxd,' slope ') para c em cntys: c.name = names [cntys.index (c)] arcpy.RefreshTOC ()

depois de executá-lo, posso ver que o cntys retorna

[, , , , , , , , , , , , , , , , , , ]

exatamente como deveria. Mas os nomes das camadas reais no TOC não mudam, mesmo quando salvo, fecho e reabra o mapa.

Pelo que estou vendo aqui: https: //geonet.esri.com/thread/43148 e aqui: Use ArcPy para renomear camadas MXD deve funcionar, mas não funciona. O que há com isso?


Acho que existem duas maneiras de corrigir isso:

  1. Se você tem"C: Usuários Usuário Documentos GISProj Map6.mxd"abra então, em vez de referenciarr "C: Usuários Usuário Documentos GISProj Map6.mxd", usar"ATUAL"; ou
  2. Execute o código com o ArcMap fechado, mas incluamxd.save ()como sua última linha - oarcpy.RefreshTOC ()então não é necessário.

Eu penso em usar

mxd = arcpy.mapping.MapDocument (r "C:  Usuários  Usuário  Documentos  GISProj  Map6.mxd")

como se estivesse executando uma instância de mapeamento separada daquela que você abriu no ArcMap, que é"ATUAL".


Ytdjtkui

Qual é a melhor tradução para "slot" no contexto de videogames multijogador?

Como Doctor Strange viu o resultado vencedor em Avengers: Infinity War?

Evitando o imposto de propriedade, dando vários presentes

Como funciona quando alguém investe no meu negócio?

Dificuldade em entender a fala de colegas estrangeiros

A variável discreta pode ser um número negativo?

Como Arya sobreviveu ao esfaqueamento?

Ação de classe - quais opções eu tenho?

Resultado diferente entre escanear no modo "filme negativo colorido" da Epson e escanear em positivo - & # 62 inverter a curva no post?

O que podemos fazer para impedir que a empresa anterior nos faça perguntas?

Substitua o caractere por outro apenas se for repetido e não fizer parte de uma palavra

Por que o recuo desaparece nas listas?

Aumente o desempenho criando Mandelbrot definido em python

Dumbledore mentiu para Harry sobre quanto tempo ele tinha a capa de invisibilidade de James Potter quando a estava examinando? Se sim, por quê?

Atalho para o valor desta integral indefinida?

Como faço para extrair um valor de um valor formatado com hora no Excel?

Esta variante do Feiticeiro personalizada que só pode aprender qualquer feitiço apenas de componente verbal seria desequilibrada?

Pólo-zeros de um sistema FIR causal de valor real

Magia não confiável - vale a pena?

Retorne o número primo mais próximo

Prova de trabalho - abordagem de loteria

Ambiente de trabalho hostil após denúncias contra um colega de trabalho e nosso chefe. O que eu faço?

Como uma função com furo (descontinuidade removível) pode ser igual a uma função sem furo?

Tratamento de Suspensões com Numeral Romano

WMTS em OpenLayers incapaz de ampliar os detalhes

Recurso mover animação no OpenLayers 3.11.2Como alterar o estilo da caixa de zoom do Openlayers 3? Selecione a interação exibida visualmente fora da extensão da camada Adicionando WMTS do Geoserver getcapabilities via OpenLayers? Como adicionar WMTS do GeoServer a um mapa sem baixar o arquivo xml get capabilties ( em OpenLayers)? OpenLayers WMTS reprojectionDisplaying WMTS-Layer em projeção personalizada (EPSG: 25832) usando OpenLayers? WMTS Grid Streaming usando QGIS? OpenLayers 4 rulerSetup para várias origens para um WMTS em OpenLayers

Com base no exemplo OpenLayers em
https://openlayers.org/en/latest/examples/wmts-layer-from-capabilities.html?q=wmts

Estou tentando carregar um WMTS em meu próprio exemplo aqui
https://codepen.io/vishnu4/pen/EMBZdp?editors=1010, mas realmente parece mostrar apenas uma imagem grande que não consigo ampliar para ver mais detalhes. Se eu carregá-lo no QGIS, existem todos os tipos de outros recursos que não estou vendo.

Como faço para aumentar o zoom neste WMTS para mostrar o nível de detalhe do QGIS?

você precisa carregar o arquivo ol / format / WMTSCapabilities.js primeiro, consulte & # 62 github.com/openlayers/openlayers/blob/master/src/ol/format/… que usa outras bibliotecas javascript

estou carregando toda a biblioteca ol openlayers.org/en/latest/build/ol.js, que inclui os dados desse arquivo. Você pode ver que estou chamando o format.WMTSCapabilities como um analisador no topo do código js.

Com base no exemplo OpenLayers em
https://openlayers.org/en/latest/examples/wmts-layer-from-capabilities.html?q=wmts

Estou tentando carregar um WMTS em meu próprio exemplo aqui
https://codepen.io/vishnu4/pen/EMBZdp?editors=1010, mas realmente parece mostrar apenas uma imagem grande que não consigo ampliar para ver mais detalhes. Se eu carregá-lo no QGIS, existem todos os tipos de outros recursos que não estou vendo.

Como faço para aumentar o zoom neste WMTS para mostrar o nível de detalhe do QGIS?

você precisa carregar o arquivo ol / format / WMTSCapabilities.js primeiro, consulte & # 62 github.com/openlayers/openlayers/blob/master/src/ol/format/… que usa outras bibliotecas javascript

estou carregando toda a biblioteca ol openlayers.org/en/latest/build/ol.js, que inclui os dados desse arquivo. Você pode ver que estou chamando o format.WMTSCapabilities como um analisador no topo do código js.

Com base no exemplo OpenLayers em
https://openlayers.org/en/latest/examples/wmts-layer-from-capabilities.html?q=wmts

Estou tentando carregar um WMTS em meu próprio exemplo aqui
https://codepen.io/vishnu4/pen/EMBZdp?editors=1010, mas realmente parece mostrar apenas uma imagem grande que não consigo ampliar para ver mais detalhes. Se eu carregá-lo no QGIS, existem todos os tipos de outros recursos que não estou vendo.

Como faço para aumentar o zoom neste WMTS para mostrar o nível de detalhe do QGIS?

Com base no exemplo OpenLayers em
https://openlayers.org/en/latest/examples/wmts-layer-from-capabilities.html?q=wmts

Estou tentando carregar um WMTS em meu próprio exemplo aqui
https://codepen.io/vishnu4/pen/EMBZdp?editors=1010, mas realmente parece mostrar apenas uma imagem grande que não consigo ampliar para ver mais detalhes. Se eu carregá-lo no QGIS, existem todos os tipos de outros recursos que não estou vendo.

Como faço para aumentar o zoom neste WMTS para mostrar o nível de detalhe do QGIS?

você precisa carregar o arquivo ol / format / WMTSCapabilities.js primeiro, consulte & # 62 github.com/openlayers/openlayers/blob/master/src/ol/format/… que usa outras bibliotecas javascript

estou carregando toda a biblioteca ol openlayers.org/en/latest/build/ol.js, que inclui os dados desse arquivo. Você pode ver que estou chamando o format.WMTSCapabilities como um analisador no topo do código js.

você precisa carregar o arquivo ol / format / WMTSCapabilities.js primeiro, consulte & # 62 github.com/openlayers/openlayers/blob/master/src/ol/format/… que usa outras bibliotecas javascript

estou carregando toda a biblioteca ol openlayers.org/en/latest/build/ol.js, que inclui os dados desse arquivo. Você pode ver que estou chamando o format.WMTSCapabilities como um analisador no topo do código js.

você precisa carregar o arquivo ol / format / WMTSCapabilities.js primeiro, consulte & # 62 github.com/openlayers/openlayers/blob/master/src/ol/format/… que usa outras bibliotecas javascript

você precisa carregar o arquivo ol / format / WMTSCapabilities.js primeiro, consulte & # 62 github.com/openlayers/openlayers/blob/master/src/ol/format/… que usa outras bibliotecas javascript

estou carregando toda a biblioteca ol openlayers.org/en/latest/build/ol.js, que inclui os dados desse arquivo. Você pode ver que estou chamando o format.WMTSCapabilities como um analisador no topo do código js.

estou carregando toda a biblioteca ol openlayers.org/en/latest/build/ol.js, que inclui os dados desse arquivo. Você pode ver que estou chamando o format.WMTSCapabilities como um analisador no topo do código js.


1 resposta 1

Usando a implementação arcpy da ferramenta de autocorrelação espacial, você pode obter essas informações. Embora, de uma forma um tanto indireta.

Em primeiro lugar, de acordo com a documentação (exemplo 2), se você definir uma variável chamada moransI para a chamada real da ferramenta, como:

Você terá acesso à função getMessages. Contém o texto de saída completo da ferramenta. E é feio:

"Hora de início: quinta-feira, 21 de março de 2019 3:32:00 PMnRunning script SpatialAutocorrelation. NWARNING 001605: Distâncias para coordenadas geográficas (graus, minutos, segundos) são analisadas usando distâncias cordais em metros.nWARNING 000846: 58 característica (s) não vizinhos que geralmente invalidam as propriedades estatísticas de um teste.nAVISO 000847: Recursos sem vizinhos (inclui apenas os primeiros 30): FID = 1186, 6475, 6634, 6712, 7563, 10078, 13157, 13518, 13941, 14496, 15894, 17155 , 17156, 17195, 17363, 17365, 20442, 20986, 21047, 21171, 21350, 23587, 26744, 28141, 28153, 28615, 28982, 30519, 30520, 30768.nn Índice de Moran Global I Resumo nMoran's Index: 0,210751 n Índice esperado: 0,000018 nVariance: 0,000001 nz-score: 176,055455np-value: 0,000000 nnDistance medido em Metersnn Script Completed Autocorrelação espacial (Global Moran I). NSucceeded at quinta-feira, 21 de março de 2019 3:32:26 PM (tempo decorrido: 26,01 segundos)

No entanto, você pode criar uma lista para cada linha de texto assim:

Em seguida, você pode obter todos os valores de resumo acessando esses itens na lista:

Claro, isso terá algum texto indesejado, que deixarei como um exercício. Você só vai querer puxar os números das cordas.


Mdhntd

Por que os políticos não pressionam pela redução dos combustíveis fósseis apontando sua escassez?

Como posso embalar minha comida para que não cheire?

Por que os acordes de notas de raiz aguda e bemol não parecem estar presentes em muitas músicas de guitarra?

Naves sem computadores?

Reaproveitar linha telefônica para ethernet

Converter cor HTML em OLE

Dispositivo de câmera padrão para mostrar a tela em vez da câmera física

Seria ilegal o Facebook promover ativamente uma agenda política?

Frango sous vide sem temperatura interna de 165

Como descartar perguntas intrusivas de um colega com quem não trabalho?

O que aconteceu após o final do Show de Truman?

A Dinamarca perde quase US $ 700 milhões por ano "carregando" a Groenlândia?

Existem maneiras confiáveis ​​e padronizadas de formar acordes no violão?

Uso de vor nesta frase

Provas mais antigas de objetos destinados a futuros arqueólogos?

Prática recomendada: dependência de nomes de modelos de dados

Conte a frequência de itens em uma matriz

Acho que meu colega de trabalho folheou meu caderno e pegou minhas ideias de projeto

Personalizando a legenda no widget de lista de camadas do ArcGIS API for JavaScript?

Problema ao acessar o código API: & # 8220ReferenceError: esri não está definido & # 8221Javascript Índice / Legend Widget2 objetos de legenda com arcgis javascript apiComo fazer upload de um arquivo csv no mapa esri com coordenadas e plot em um mapa esriPreventing webkitMovementX é um erro obsoleto? ler a propriedade 'on' de undefinedArcGIS JavaScript API Search widget não funciona Personalizando ArcGIS API para widget JavaScript? ArcGIS JavaScript API - Desenhar sem usar o API Toolbar Widget

Aqui está um código de exemplo que uso em meu trabalho. Existem alguns problemas com isso:

O título da camada aparece mais uma vez na legenda da lista de camadas.

Como posso removê-lo ou mudar para outro texto?

É possível adicionar texto personalizado na área da legenda (abaixo, acima ou ao lado da legenda)?

Olá, bem-vindo ao GIS SE. Você deve dar uma olhada na página Como criar um exemplo mínimo reproduzível. Você colou todo o código, mas apenas uma pequena parte dele é relevante para a sua pergunta.

& # 8211 & # 160Marcelo Villa
16 de agosto às 16:42

Obrigado por seu comentário. Excluí o código irrelevante. Você tem alguma recomendação para a pergunta?

Aqui está um código de exemplo que uso em meu trabalho. Existem alguns problemas com isso:

O título da camada aparece mais uma vez na legenda da lista de camadas.

Como posso removê-lo ou mudar para outro texto?

É possível adicionar texto personalizado na área da legenda (abaixo, acima ou ao lado da legenda)?

Olá, bem-vindo ao GIS SE. Você deve dar uma olhada na página Como criar um exemplo mínimo reproduzível. Você colou todo o código, mas apenas uma pequena parte dele é relevante para a sua pergunta.

& # 8211 & # 160Marcelo Villa
16 de agosto às 16:42

Obrigado por seu comentário. Excluí o código irrelevante. Você tem alguma recomendação para a pergunta?

Aqui está um código de exemplo que uso em meu trabalho. Existem alguns problemas com isso:

O título da camada aparece mais uma vez na legenda da lista de camadas.

Como posso removê-lo ou mudar para outro texto?

É possível adicionar texto personalizado na área da legenda (abaixo, acima ou ao lado da legenda)?

Aqui está um código de exemplo que uso em meu trabalho. Existem alguns problemas com isso:

O título da camada aparece mais uma vez na legenda da lista de camadas.

Como posso removê-lo ou mudar para outro texto?

É possível adicionar texto personalizado na área da legenda (abaixo, acima ou ao lado da legenda)?

Olá, bem-vindo ao GIS SE. Você deve dar uma olhada na página Como criar um exemplo mínimo reproduzível. Você colou todo o código, mas apenas uma pequena parte dele é relevante para a sua pergunta.

& # 8211 & # 160Marcelo Villa
16 de agosto às 16:42

Obrigado por seu comentário. Excluí o código irrelevante. Você tem alguma recomendação para a pergunta?

Olá, bem-vindo ao GIS SE. Você deve dar uma olhada na página Como criar um exemplo mínimo reproduzível. Você colou todo o código, mas apenas uma pequena parte dele é relevante para a sua pergunta.

& # 8211 & # 160Marcelo Villa
16 de agosto às 16:42

Obrigado por seu comentário. Excluí o código irrelevante. Você tem alguma recomendação para a pergunta?

Olá, bem-vindo ao GIS SE. Você deve dar uma olhada na página Como criar um exemplo mínimo reproduzível. Você colou todo o código, mas apenas uma pequena parte dele é relevante para a sua pergunta.

& # 8211 & # 160Marcelo Villa
16 de agosto às 16:42

Olá, bem-vindo ao GIS SE. Você deve dar uma olhada na página Como criar um exemplo mínimo reproduzível. Você colou todo o código, mas apenas uma pequena parte dele é relevante para a sua pergunta.

& # 8211 & # 160Marcelo Villa
16 de agosto às 16:42

Obrigado por seu comentário. Excluí o código irrelevante. Você tem alguma recomendação para a pergunta?

Obrigado por seu comentário. Excluí o código irrelevante. Você tem alguma recomendação para a pergunta?


Tentando usar GIS em meu novo trabalho - Parte 2

Em primeiro lugar - obrigado por sua ajuda rápida ontem (link)! Estou fazendo um bom progresso na compreensão de todos os recursos interessantes de um software gis. Ao mesmo tempo, estou tendo novas idéias sobre como explorar os dados. Um deles pode ser muito útil para mim, mas seria uma tarefa terrível se feito manualmente.

Eu dividi meu enorme arquivo .csv em centenas de pequenos. Cada um deles contém apenas os códigos postais de um único funcionário. Meu objetivo é gerar um mapa do país para cada funcionário onde apenas a sua região seja destacada todas as vezes. Obviamente, isso exigiria algum trabalho tedioso cerca de 500 vezes.

Sabendo disso, gostaria de saber se existe alguma possibilidade de processamento em lote. Seria ótimo se eu pudesse definir a formatação uma vez e, em seguida, iniciar um processo em lote com todos os arquivos .csv em uma determinada pasta. Idealmente, esse processo produziria o mesmo número de .jpgs (ou qualquer outro formato de imagem).

Alguma chance disso? Obrigado pelo teu conselho!

Crie seus mapas de região e exporte-os como JPG. Region1.jpg, 2, 3 etc.

Cruze a camada de sua região com uma camada de CEP de todo o país, obtendo assim uma tabela com todos os CEPs em cada região. Você pode exportar esta tabela como um csv. Estou fazendo a suposição de que suas regiões ultrapassam os limites do CEP. Esta etapa é mais complicada se alguns códigos postais forem divididos em várias regiões. Você teria que procurar o endereço nesse ponto.

Usando o python, você simplesmente percorreria o CSV & # x27s de seu funcionário e cada linha dentro de cada CSV. Procure o código postal para cada funcionário em sua região / tabela de código postal csv, copie o mapa JPG da região correta para o seu diretório e renomeie-o para o nome do funcionário & # x27s.

Esse método exigiria apenas o aprendizado de métodos Python para ler CSVs e copiar / renomear arquivos.

Você poderia dar um passo adiante e usar ArcPy para exportar MXD & # x27s com os nomes corretos, mas eu diria que copiar de uma lista de MXD & # x27s pré-criados seria mais rápido do que exportar mais de 500 deles.

A ressalva é que se você tiver que colocar as informações do funcionário & # x27s em cada mapa, precisará do Arcpy para personalizar as caixas de texto dentro do mapa e, em seguida, exportar. Mas se você só precisa de um mapa da região sem informações personalizadas por mapa, o método descrito acima deve ser adequado.

Segundo esta metodologia. A construção de modelos simplificaria isso, mas a abordagem de geoprocessamento é certamente mais rápida. Mas a advertência mencionada é definitivamente legítima. Se os códigos postais e seus limites não estiverem alinhados para algumas das zonas, você pode (como dito acima) usar a geocodificação para iliciar seus endereços de limite. A etapa extra adiciona uma certa quantidade de problemas potenciais ao seu trabalho, portanto, certifique-se de saber o que está juntando, processando, etc. antes de prosseguir e fazê-lo. Não há função desfazer para saída de geoprocessamento. Portanto, um conselho que eu & # x27d adicionar para um usuário iniciante seria salvar cópias ou versões de seu trabalho com frequência. Dessa forma, se você não acertar na primeira vez, a quantidade de problemas pelos quais você teria que passar é mínima.

Na verdade, aprendi esse conselho da maneira mais difícil esta manhã. Perdi 3 horas de trabalho que eu tive que fazer uma vez que não tive acesso aos arquivos de dados originais para trocar as classes de recursos bagunçadas. Não estava realmente prestando muita atenção até que usei a função & # x27integrar & # x27 sem (aparentemente) entender o que seria a saída.

BTW, existem muitos tutoriais e percursos python em toda a Internet. Não fique apreensivo ao abordar esse aspecto deste projeto, ele não é tão assustador quanto você pode ou não ver. Muitos novos usuários sem experiência anterior em codificação evitam ter que usá-lo por nenhum motivo real a não ser por medo de que não sejam capazes. Mas como eu disse. muita assistência disponível para quase tudo e certamente para este projeto.


1 resposta 1

Não é possível usar ArcObjects para acessar bancos de dados (ou tabelas ou colunas) com nomes mistos ou maiúsculos. ArcGIS Server, Desktop e ArcPy só são capazes de acessar objetos com nomes em letras minúsculas.

A documentação do Desktop afirma (grifo meu):


Digite o nome do banco de dados em letras minúsculas Nomes de objetos com maiúsculas e minúsculas não são suportados para bancos de dados geográficos no PostgreSQL. Se você digitar um nome de banco de dados em maiúsculas ou mistas, o ArcGIS o converterá em minúsculas.


E a documentação do servidor diz o mesmo (idem):


Use todos os caracteres minúsculos para a função de login nomes de caracteres mistos e maiúsculos não são suportados com ArcGIS.


Com tabelas e colunas, você pode criar visualizações para contornar problemas de nomenclatura. Mas com bancos de dados, nenhuma conexão é possível, então você nunca terá essa chance.


Alguém já pensou que não precisava usar Python?

Alguém já quis aprender Python porque leu que isso os ajudaria em seu trabalho. Mas, ao passar pelos tutoriais de python, não viu os exemplos que se aplicam diretamente ao trabalho que fazem atualmente?

Se você teve uma experiência semelhante, as coisas mudaram com o tempo e como?

Na minha experiência, você não entenderá realmente por que e como precisa do Python até tentar aplicá-lo ao seu trabalho. Então, novamente, se você não tem tantas tarefas que possam ser automatizadas ou você está fazendo mais & quotfazendo mapas & quot do que & quotanalisando dados geográficos & quot e você & # x27re bem servido com sua caixa de ferramentas atual, você pode não precisar muito dela.

Bom ponto. Meu trabalho atualmente é mais fazer mapas do que analisar dados geográficos. Obrigado por articular isso. Você pode falar mais sobre a diferença entre fazer mapas e analisar dados geográficos?

Aprender Python e Arcpy sozinho me rendeu uma entrevista de emprego e depois um emprego, desde então tenho usado para automatizar tudo que considero chato e monótono.

Em termos de pessoas dizendo que você não precisa disso para um trabalho de mapeamento, eu argumentaria o oposto e é aí que ele se destaca.

Se você está trabalhando em um grande projeto com 25 .aprxs com 120 mapas e, de repente, um recurso muda em todos eles. É melhor você acreditar que escrever um script que irá atualizar automaticamente a camada e reexportar cada layout irá economizar dias de trabalho enquanto você relaxa e responde a alguns e-mails.

Eu concordo. Aprender python também me deu um emprego. É aquele tipo de coisa que você naturalmente não sente falta até que aprenda.

Obrigada. Você pode ser mais específico em relação ao seu terceiro parágrafo?

Muitos tutoriais de programação parecerão assim se você tiver apenas um objetivo muito abstrato em mente ao aprender uma linguagem (como & quotboosting meu currículo & quot ou & quothelping with my job & quot). É muito mais fácil aprender um idioma quando você tem um objetivo específico e bem definido em mente, como & quotQuero escrever um script que baixe e processe imagens Landsat em séries temporais em cores reais & quot. Se possível, eu tentaria identificar coisas específicas no trabalho que você acha que poderia usar a otimização ou nas quais você precisa de ajuda, e então tentaria aprender Python com esse objetivo em mente.

Uau! Esse é um grande insight! Obrigada. Você acerta o prego na cabeça. Meu objetivo é muito abstrato.

Acho que desenhar localizações em um mapa é entediante. Você tem alguma ideia se o Python poderia ajudar com isso?

Acho muito improvável que você nunca ache uma tarefa chata o suficiente para automatizar com Python. Algo tão simples como alterar uma configuração em um grande número de camadas em um mapa é muito menos tedioso com Python.

Você poderia fornecer um exemplo específico de alteração de uma configuração em uma camada? E como você aborda isso com o python. Obrigada

Quais habilidades de python você está procurando?

Minha necessidade de mergulhar fundo em python foi contornada pelo FME no que diz respeito aos scripts. Eu ainda tento acompanhar, apenas no caso.

Interessante, como o FME impactou seu mergulho profundo?

Eu concordo com isto. FME foi capaz de substituir cerca de 99% de qualquer script Python que eu preciso ou uso.

Eu nem mesmo me preocupo com o construtor de modelos

Python é uma caixa de matérias-primas que você pode usar para fazer uma ferramenta para resolver um problema. Um problema pode ser um cálculo personalizado ou simplesmente uma automação de um processo repetitivo para economizar tempo. Familiarizar-se com Python abre oportunidades para encontrar soluções criativas para problemas (ou tarefas) que não podem ser resolvidos (ou concluídos) usando as ferramentas GIS integradas.

Quando comecei a usar o ArcMap, eu sabia apenas que o Python estava programando e que o ArcMap o suportava. Inicialmente, não usei o Python, pois as ferramentas integradas faziam tudo o que eu precisava. No entanto, conforme os dados com os quais trabalhei começaram a mudar e não havia ferramentas integradas que fizessem o que eu precisava, comecei a depender de aplicativos da web para fazer os cálculos de que precisava. Mas isso não era sustentável, pois o volume de dados começou a aumentar. Eu precisava encontrar uma solução melhor. Eu pesquisei Python.

Eu só encontrei um exemplo muito genérico de código Python que faria o que eu precisava - calcular um novo par de coordenadas dado um par de coordenadas conhecido, uma distância e uma direção. Não era um código plug-and-play - eu tive que modificá-lo para fazer o código funcionar como eu precisava. A ferramenta tem economizado muito tempo e elimina o problema adicional que eu tive com erros de transcrição ao inserir manualmente as coordenadas de um lado para outro.

No trabalho, também uso Python fora do GIS. Tenho um script que renomeia em lote as fotos dos nomes de arquivo genéricos para um padrão de nomenclatura que uso para organizar minhas fotos. Então, em vez de renomear fotos uma de cada vez (o que é realmente uma droga se você tiver 100 fotos) - usando Python, eu insiro os critérios uma vez e pressiono enter. Alguns segundos depois, todas as fotos foram renomeadas para o padrão desejado.

Você precisa ter um problema que deseja resolver, para que o Python seja potencialmente útil. No entanto, você não saberá exatamente como o Python pode resolver seus problemas, até se familiarizar com como o Python pode resolver problemas.


Mdhntd

Por que os acordes de notas de raiz aguda e bemol não parecem estar presentes em muitas músicas de guitarra?

Prática recomendada: dependência de nomes de modelos de dados

É apropriado que uma empresa me peça meu relatório de crédito?

Há muito tempo só nascem meninas nesta aldeia?

Estimador imparcial de exponencial de medida de um conjunto?

Não ensine Dhamma para aqueles que não podem apreciá-lo ou não estão interessados

O C ++ 20 exige que o código-fonte seja armazenado em arquivos?

Uma borboleta é um ou dois animais?

O ultraleve Lazair com dois motores tinha um acelerador para cada motor?

"Talheres", "Talheres" e "Pratos"

Conte a frequência de itens em uma matriz

Converter cor HTML em OLE

A Dinamarca perde quase US $ 700 milhões por ano "carregando" a Groenlândia?

O que aconteceu após o final do Show de Truman?

Problemas não resolvidos (não independentes de ZFC) devido à falta de poder computacional

Como descartar perguntas intrusivas de um colega com quem não trabalho?

Metal que brilha quando perto de pedaços de si mesmo

De quais profissões precisa uma vila medieval com uma população de 100 pessoas?

Como a eficiência da turbina se compara aos motores de combustão interna se toda a energia da turbina é convertida em energia mecânica?

Colapso do vácuo - por que metais fortes implodem, mas o vidro não?

Como a China poderia ter extraditado pessoas por motivos políticos de acordo com a lei de extradição que queria aprovar em Hong Kong?

Naves sem computadores?

OGR2OGR - convertendo um arquivo GML para GeoJSON

Como mesclar vários arquivos GML em um .Convertendo GeoJSON em Shapefile usando ogr2ogr? Convertendo arquivos JSON / GeoJSON em ShapefilesComo posso ver as camadas em um arquivo .OSM? Pule uma camada de entrada especificada em ogr2ogrMLogr2ogr mescle dois GeoJSON em um GeoJSONTentando importar a infraestrutura holandesa GG usando o driver OGR GMLAS, mas sem geometrias?

Estou lutando para usar ogr2ogr para converter um arquivo GML em um arquivo GeoJSON. Minha entrada são arquivos GML compactados com várias camadas. Estou interessado apenas na camada com o nome 'TopographicArea'.

Tentei converter usando o seguinte na linha de comando:

Isso falha com o erro:

Presumo que seja porque o GeoJSON não oferece suporte a camadas.

Como posso dizer ao ogr2ogr para ignorar todas as camadas, exceto uma?

P.S. Tenho milhares de arquivos GML para processar, então isso precisa ser programável.

Estou lutando para usar ogr2ogr para converter um arquivo GML em um arquivo GeoJSON. Minha entrada são arquivos GML compactados com várias camadas. Estou interessado apenas na camada com o nome 'TopographicArea'.

Tentei converter usando o seguinte na linha de comando:

Isso falha com o erro:

Presumo que seja porque o GeoJSON não oferece suporte a camadas.

Como posso dizer ao ogr2ogr para ignorar todas as camadas, exceto uma?

P.S. Tenho milhares de arquivos GML para processar, então isso precisa ser programável.

Estou lutando para usar ogr2ogr para converter um arquivo GML em um arquivo GeoJSON. Minha entrada são arquivos GML compactados com várias camadas. Estou interessado apenas na camada com o nome 'TopographicArea'.

Tentei converter usando o seguinte na linha de comando:

Isso falha com o erro:

Presumo que seja porque o GeoJSON não oferece suporte a camadas.

Como posso dizer ao ogr2ogr para ignorar todas as camadas, exceto uma?

P.S. Tenho milhares de arquivos GML para processar, então isso precisa ser programável.

Estou lutando para usar ogr2ogr para converter um arquivo GML em um arquivo GeoJSON. Minha entrada são arquivos GML compactados com várias camadas. Estou interessado apenas na camada com o nome 'TopographicArea'.

Tentei converter usando o seguinte na linha de comando:

Isso falha com o erro:

Presumo que seja porque o GeoJSON não oferece suporte a camadas.

Como posso dizer ao ogr2ogr para ignorar todas as camadas, exceto uma?

P.S. Tenho milhares de arquivos GML para processar, então isso precisa ser programável.


2 respostas 2

Usando QGIS 3.8.1 (não tenho certeza do que é QGIS versão 4.8. Talvez um erro de digitação?):

Adicione o repositório do plugin Alex Bruy QGIS à sua lista de repositório QGIS:

(Advertência: Adicionar repositórios não oficiais / de terceiros deve ser feito por sua própria conta e risco)

Plug-ins - & # 62 Gerenciar e instalar plug-ins - & # 62 Configurações - & # 62 Adicionar
https://plugins.bruy.me/plugins/plugins.xml

Baixe / extraia WhiteBoxTools para um local apropriado em sua máquina, como C: WBTools
https://jblindsay.github.io/ghrg/WhiteboxTools/download.html

Configure o provedor de ferramentas WhiteBox:

Configurações - & # 62 Opções - & # 62 Processamento - & # 62 Provedores


3 respostas 3

Git usa revisão andando para negociar um conjunto comum de commits em ambos os lados. Portanto, se, durante um push, o lado do cliente souber qual é o branch master do servidor, ele será capaz de eliminar o envio de qualquer coisa que ele contenha, incluindo a versão antiga do branch local-dev.

O fluxo de trabalho que está sendo usado não é necessariamente ineficiente para pushes, mas repetidas mesclagens cruzadas entre o master e o branch local-dev tornam git log --topo-order muito lento. Portanto, embora possa não ser um problema para usuários inexperientes do Git, isso deixará os usuários avançados um pouco infelizes, pois causa lentidão nas operações avançadas. Ele também cria uma história desordenada, que algumas pessoas sentem fortemente.

Além disso, esse fluxo de trabalho evita ter várias ramificações em andamento ao mesmo tempo. Um desenvolvedor pode precisar esperar para fundir um branch porque o especialista no assunto está de férias e não pode dar uma revisão, e a criação de um novo branch permitiria trabalhar em uma parte diferente do trabalho enquanto espera por essa revisão.

O fluxo de trabalho típico é criar um novo branch com um nome exclusivo para o recurso ou correção de bug em questão, fazer alterações e aumentá-lo. A ramificação local pode ser descartada quando a ramificação do servidor é mesclada (ou mantida, se a pessoa preferir).

Portanto, em última análise, a resposta é que este não é um fluxo de trabalho típico e causa alguns problemas práticos, mas não é extremamente problemático. Não seria um problema educar seus usuários, mas depende de você se você acha que é importante o suficiente para fazer cumprir a política.