Mais

Calculando o novo campo para a tabela raster com base no valor da tabela associada usando ArcPy?

Calculando o novo campo para a tabela raster com base no valor da tabela associada usando ArcPy?


Preciso saber se é possível calcular um novo campo para uma tabela raster com base em um valor de uma tabela associada. Idealmente, gostaria de ser capaz de realizar esta tarefa sem ter que adicionar tabela e camada raster ao índice analítico dentro do ArcMap. Por favor ajude!

A seção a seguir do meu script é executada com êxito até obter a linha que cria o cursor de atualização:

#ArcMap v. 10.2.1 # Adicione 3 campos a cada um dos novos rasters de produto # Execute uma junção espacial conectando a tabela de taxas variáveis ​​ao raster de produto se sPotash e sPotash! = "#": Arcpy.PolygonToRaster_conversion (sPotash, "ZONE "," "C:  Users  Desktop  CurrentWork  pm  Output_1192015  pt_tst", "CELL_CENTER", "ZONE", 1) arcpy.AddField_management ("pt_tst", "LB_P_AC", "DOUBLE", "", " "," "," ") arcpy.AddField_management (" pt_tst "," LB_P_SQM "," DOUBLE "," "," "," "," ") arcpy.AddField_management (" pt_tst "," P_P_SQM "," DOUBLE "," "," "," "," ") arcpy.MakeRasterLayer_management (" "C:  Usuários  Desktop  CurrentWork  pm  Output_1192015  pt_tst", "pt_tst_lyr") arcpy.TableToTable_conversion ("Variable_Rates.csv", "" C:  Users  Desktop  CurrentWork  pm  Output_1142015 "," Potash_Rates "," # "," Potash ") arcpy.AddJoin_management (" pt_tst_lyr "," Value "," Potash_Rates.dbf "," Zone ") # arcpy.JoinField_management ("pt_tst_lyr", "VALUE", "Potash_Rates.dbf", "ZONE", "Potash") potashrstr = pt_tst_lyr cursor = arcpy.UpdateCursor ("pt_tst_lyr") fields = ["Potash", "LB _P_SQM "] # o campo Potash é um campo pertencente à tabela Variable_Rates com arcpy.da.UpdateCursor (" pt_tst_lyr ", campos) como cursor: para linha no cursor: linha [1] = linha [0] /4046.86

quando você associa uma tabela, os nomes dos campos a serem usados ​​no ArcGIS tornam-se uma concatenação do nome da tabela e do nome do campo. Então você deve tentar com

campos = ["Potash_Rates.Potash", "pt_tst.LB_P_SQM"]

também há um pequeno erro de digitação em seu nome raster, mas provavelmente não no original

cursor = arcpy.UpdateCursor ("pt_tst_lyr") deve ser removido

"" C: Usuários Desktop CurrentWork pm Output_1192015 pt_tst "é" C: Usuários Desktop CurrentWork pm Output_1192015 pt_tst "

EDITAR: você também pode tentar com a calculadora de campo

arcpy.CalculateField_management ("pt_tst_lyr", "pt_tst.LB_P_SQM", "[Potash_Rates.Potash] /4046.86")

EDIT: Não percebi imediatamente que você estava trabalhando com uma grade, então a sintaxe é um pouco diferente

arcpy.CalculateField_management ("pt_tst_lyr", "pt_tst.vat: LB_P_SQM", "[Potash_Rates.Potash] /4046.86")

Você pode criar uma função definida pelo usuário para isso:

e use isso para definir sua coluna computada:

Isso parece ser mais um trabalho para visualizações (visualizações indexadas, se você precisar de pesquisas rápidas na coluna computada):

Isso tem uma diferença sutil em relação à versão da subconsulta, pois retornaria vários registros em vez de produzir um erro se houvesse vários resultados para a junção. Mas isso é facilmente resolvido com uma restrição UNIQUE em c_const.code (suspeito que já seja uma PRIMARY KEY).

Também é muito mais fácil para alguém entender do que a versão da subconsulta.

Você pode fazer isso com uma subconsulta e UDF como marc_s mostrou, mas é provável que seja altamente ineficiente em comparação com um JOIN simples, uma vez que uma UDF escalar precisará ser calculada linha por linha.


Procedimento

O raster de limiar define os valores da célula que são determinados como tendo acumulação suficiente para serem classificados como um fluxo, e o raster de limiar é gerado a partir de um raster criado pela ferramenta Flow Accumulation GP.

    Crie a direção do fluxo e os rasters de acumulação de fluxo.

A. Abra o ArcMap e adicione o DEM.
B. Execute a ferramenta Flow Direction GP com o DEM como entrada.
C. Execute as ferramentas de GP de acumulação de fluxo com o raster de direção do fluxo como entrada.

A. Abra a calculadora raster.
B. Insira a seguinte declaração no campo de expressão Map Algebra e execute a ferramenta:

Isso cria um raster que define a rede de fluxo atribuindo valores NoData às células que não atendem ao limite. As células restantes, representando o acúmulo de fluxo, estão contidas em uma única linha na tabela de atributos raster.

A. Abra a ferramenta Watershed GP.
B. Especifique o raster de direção do fluxo criado na Etapa 1 como o raster de direção do fluxo de entrada.
C. Especifique o raster de acumulação de limite criado na Etapa 4 como raster de ponto de fluidez do recurso.


Com shift () implementado na v1.9.6, isso é bastante simples.

  1. Nova função shift () implementa avanço / atraso rápido de vetor, Lista, data.frames ou data.tables. Leva um argumento de tipo que pode ser "lag" (padrão) ou "pista". Ele permite o uso muito conveniente junto com: = ou set (). Por exemplo: DT [, (cols): = shift (.SD, 1L), por = id]. Por favor, dê uma olhada em? Shift para mais informações.

Veja a história para as respostas anteriores.

Várias pessoas responderam à pergunta específica. Consulte o código abaixo para obter uma função de propósito geral que uso em situações como essa que podem ser úteis. Em vez de apenas obter a linha anterior, você pode usar quantas linhas no "passado" ou no "futuro" desejar.

Com base no comentário de @Steve Lianoglou acima, por que não apenas:

E evite usar seq_len ou head ou qualquer outra função.

Seguindo a solução de Arun, resultados semelhantes podem ser obtidos sem referência a .N

Eu adicionei um argumento de preenchimento e mudei alguns nomes e o chamei de shift. https://github.com/geneorama/geneorama/blob/master/R/shift.R

Aqui está minha solução intuitiva:

Aqui invshift, o número de linhas menos 1, é 4. nrow (df) fornece a você o número de linhas em um quadro de dados ou em um vetor. Da mesma forma, se você quiser obter valores ainda anteriores, subtraia de nrow 2, 3,. etc, e também colocar NAs de acordo no início.

Usando um for, você pode até usar o valor anterior da linha desta nova coluna DT [(i-1), 4]


4 respostas 4

Veja se isso ajuda. Coloque uma 2ª via da tabela na consulta, juntada à 1ª via no Account e FiscalYear mas não no FiscalPeriod. Então, ActualBeginningBalance pode ser calculado a partir da 2ª cópia da tabela com uma restrição para selecionar apenas FiscalPeriod & lt FiscalPeriod da 1ª tabela. Observação - você pode obter resultados nulos para janeiro, que pode ser necessário converter para 0.

OK, é um pouco mais complicado - acabei usando uma subconsulta semelhante à outra resposta, mas calculei o EB em vez de tentar puxá-lo da tabela


Quem pode usar o GIS?

Qualquer organização que detém informações sobre objetos geográficos pode carregar essas informações em um GIS, desde que tenham alguns dados de mapa contendo os objetos relevantes. Portanto, não são apenas os atributos dos dados geográficos que podem ser interrogados, mas todos os tipos de informações.

Para que isso funcione é necessário ter algum tipo de sistema de referência comum. Isso significa que o registro correto nos dados geoespaciais pode ser correspondido com o registro correspondente nos dados não geoespaciais.

Por exemplo, Ordnance Survey (OS) mantém uma tabela de informações espaciais sobre rios (nome, localização, comprimento) e um grupo ambiental mantém uma tabela de informações ambientais sobre rios (nome, tipo de fonte, poluição por nitrato, taxas de fluxo). As duas tabelas contêm o nome do rio, portanto, as duas tabelas podem ser unidas usando o atributo name como referência comum. A junção das tabelas dá às informações ambientais uma referência espacial (localização), então agora as informações ambientais podem ser visualizadas em um display GIS.

Esse tipo de aplicação depende da capacidade de estabelecer ligações entre as entidades nos dois conjuntos de informações. Freqüentemente, é melhor usar um sistema de referência numérica compreendido por todos os usuários de um determinado tipo de informação, de modo que as características específicas possam ser identificadas de forma inequívoca. Se você usar apenas nomes de texto, isso pode falhar se um conjunto de informações tiver um nome incorreto ou se houver entradas duplicadas. Existem, por exemplo, muitos trechos de rio na Grã-Bretanha com o nome de atributo Rio Avon.

O Ordnance Survey desenvolveu seu próprio sistema de referência comum usando milhões de identificadores topográficos (TOIDs). Esses são números exclusivos de 16 dígitos que se aplicam a todos os recursos em seu banco de dados de grande escala. O TOID torna muito mais fácil para os usuários vincular, combinar ou transferir informações de forma rápida e eficiente. Este sistema faz parte de um grande projeto conhecido como Digital National Framework (DNF).

Software GIS

Qualquer informação relacionada a um local no solo pode ser carregada em um GIS e analisada. Existem diferentes maneiras em que as informações anexadas aos objetos GIS podem ser interrogadas e exploradas.

Visite o software para mapeamento se precisar de ajuda com o gerenciamento de seus dados geográficos ou se gostaria de entrar em contato com um parceiro para ajudar a gerenciar seus requisitos.

O que são atributos?

& lsquoAttribute & rsquo descreve qualquer informação sobre um objeto que pode ser armazenada além de suas propriedades geográficas.

Por exemplo, uma estrada pode ter um número, um nome, uma largura máxima, um limite de velocidade e assim por diante. O GIS pode trabalhar com essas informações descritivas de atributos e apresentá-las em um formato inteligente & ndash superior ao que pode ser alcançado colocando texto em um mapa de papel.

Com o GIS, você não está mais restrito por quantas descrições de texto podem caber no espaço disponível para transmitir informações sobre os objetos em uma área. As informações tabulares podem ser armazenadas sobre cada um dos objetos da mesma forma que em um banco de dados, permitindo assim que uma matriz quase infinita de atributos seja registrada. Todos os GIS possuem ferramentas simples que permitem o interrogatório das funcionalidades. Portanto, ao usar o mouse para clicar em um objeto, um conjunto completo de atributos pode ser exibido sem que essas informações precisem estar na tela o tempo todo. O objeto de interesse pode ser identificado pelo gráfico do mapa visual e então esse objeto pode dizer a você seus próprios atributos.

Tabelas de atributos

A maioria dos GIS permite que o usuário visualize os dados em forma tabular, sem necessariamente usar gráficos de mapas. Isso é equivalente a usar um software de planilha. Freqüentemente, você pode saber o nome de um objeto, mas não necessariamente onde ele está & ndash, portanto, você pode usar a tabela para encontrar o objeto e, em seguida, alternar para o mapa para ver onde ele está.

O SIG forma um elo constante entre os atributos e as propriedades geográficas de cada um dos elementos: você pode obter qualquer um deles se souber algo sobre o outro. Esta é a base dos serviços de mapeamento de localização na Internet: você pode gerar um mapa para qualquer local porque há uma camada de dados com um link entre o atributo do código postal e as coordenadas geográficas.

O GIS pode ser usado para conectar-se a qualquer informação que possa existir sobre um objeto de outros sistemas.

Usando GIS? Seja seletivo

Os recursos nas camadas do mapa GIS podem ser consultados selecionando e visualizando aqueles que satisfazem critérios específicos.

Os dados armazenados em tabelas podem ser difíceis de digerir de uma só vez. É necessário filtrar conjuntos relevantes de informações correspondentes a um determinado grupo de condições. Por exemplo, imagine que você está visitando uma cidade com a qual não está familiarizado. Você pode ter um mapa mostrando o centro da cidade e a localização de todos os restaurantes. Com o GIS, uma série de informações sobre esses restaurantes podem ser armazenadas & ndash que tipo de comida, custo médio per capita, etc.

O GIS pode ajudá-lo a decidir qual restaurante você deseja visitar. Você está com vontade de comer algo um pouco picante, então decide escolher restaurantes mexicanos. Os registros da tabela serão identificados e todos os restaurantes mexicanos da cidade serão destacados na tela do mapa. Você pode refinar ainda mais sua pesquisa. Você está com um orçamento apertado, então não quer que a conta seja muito cara: você pode, portanto, adicionar um filtro extra à consulta solicitando uma lista de todos os restaurantes mexicanos com um custo médio. O visor agora mostra apenas os registros que atendem às suas necessidades atuais e você pode escolher qual das seleções deseja com base em sua localização na cidade.

Você pode tornar esse tipo de consulta tão simples ou tão complicado quanto desejar, contanto que os campos de dados estejam lá para interrogar. Esta capacidade não é exclusiva do software GIS, muitos tipos diferentes de sistema de informação permitirão que você execute seleções. No entanto, apenas o GIS pode fornecer uma representação visual da localização dos resultados da consulta. Além disso, o GIS pode aplicar critérios geográficos ao filtro de seleção de forma que os objetos sejam selecionados com base em onde estão.


2. Criação do Mapa de Áreas Preferenciais

Como não conseguimos encontrar uma camada de uso da terra que forneça ao Dream Team todos os usos da terra cobrindo as áreas que desejamos, dois shapefiles de uso da terra diferentes, & # 8220land-usewest & # 8221 e land-useeast & # 8221, foram combinados para produzir um único shapefile de uso da terra que cubra nossa área de estudo. Antes de combinar os dois shapefiles, tivemos que transformar a projeção do shapefile & # 8220land-usewest & # 8221 para coincidir com a projeção do uso da terra & # 8221 shapefile. Isso ocorre porque o arquivo de forma & # 8220land-usewest & # 8221 usa a projeção NAD 1927, enquanto o arquivo de forma & # 8220land-usewest & # 8221 usa a projeção Nad1983 Harn. Usamos a ferramenta & # 8220project & # 8221 para realizar a transformação. Primeiro, selecionamos o & # 8220NAD 1983 HARN StatePlane Washington North FIPS 4601 Feet.prj & # 8221 dos Sistemas de Coordenadas Projetadas como o Sistema de Coordenadas de Saída. Em segundo lugar, em Transformação geográfica, selecionamos & # 8220NAD_1927_TO_ NAD 1983_NADCON & # 8221 para transformá-lo de NAD 1927 em NAD 1983 e, em seguida, selecionamos & # 8220NAD_1983_To_HARN_WA_OR & # 8221 para alterá-lo de NAD 1927 para NAD 1983 HARN. Após a transformação, recortamos o arquivo de forma de uso da terra do oeste de Seattle para o arquivo de uso da terra do leste de Seattle, porque essa é nossa área de interesse. Em seguida, reclassificamos os dois shapefiles criando dois novos campos chamados & # 8220value & # 8221 em cada shapefile com base no uso da terra e usamos a ferramenta & # 8220dissolve & # 8221 para reduzir o número de polígonos que compartilham o mesmo valor de uso da terra. Para combinar as duas camadas, usamos a ferramenta & # 8220union & # 8221 para produzir um único arquivo de forma com o nome & # 8220seattlelanduse & # 8221. Depois de juntar os dois shapefiles por meio de união, o campo & # 8220value & # 8221 do mapa de uso da terra do lado oeste de Seattle foi alterado automaticamente para & # 8220value1 & # 8221 porque na tabela de atributos & # 8220seattlelanduse & # 8221, dois campos de o mesmo nome não são permitidos. Em seguida, criamos três arquivos de forma diferentes da camada do arquivo de forma & # 8220seattlelanduse & # 8221: i) industrial ii) agrícola iii) comercial.

Para produzir um mapa que mostre apenas os usos do solo industrial, adicionamos um novo campo na tabela de atributos do arquivo de forma & # 8220seattlelanduse & # 8221 chamado & # 8220values ​​& # 8221 onde o terreno industrial de & # 8220value & # 8221 e & # 8220value1 & # 8221 campos receberam um valor de 1 enquanto outros usos da terra receberam um valor de 0. O arquivo é salvo como & # 8220industrial & # 8221. Em seguida, convertemos o shapefile & # 8220industrial & # 8221 em um arquivo raster IMAGINE usando a ferramenta de conversão chamada & # 8220polygon to raster & # 8221. A saída foi salva como & # 8220indusras & # 8221. Para criar um mapa para os usos do solo agrícola, o mesmo processo foi repetido e o resultado foi salvo como & # 8220agriras & # 8221.

Para criar a proximidade com o shapefile de uso comercial da terra, primeiro criamos um novo campo onde os usos comerciais da terra receberam um valor de 1 e outros usos da terra receberam um valor de 0, esta camada é salva como & # 8220commerciallu & # 8221. Em seguida, usamos o arquivo de forma City Block 2000 e criamos dois novos campos chamados & # 8220x & # 8221 e & # 8220y & # 8221 e calculamos a geometria para ambos escolhendo & # 8220X Coordenada de Centroid & # 8221 na configuração de propriedade para & # 8220x & # 8221 campo e & # 8220Y Coordenada do centroide & # 8221 para o campo & # 8220y & # 8221. Os pontos de dados XY foram então adicionados e configurados para a mesma projeção que nossas outras camadas. Este arquivo foi exportado e salvo como & # 8220landusexy & # 8221. O processo acima foi repetido para o arquivo de forma & # 8220commercial & # 8221 depois de separar os polígonos em atributos individuais usando a ferramenta & # 8220multipart para singlepart & # 8221, o arquivo resultante foi salvo como & # 8220commercialxy & # 8221. Foi necessário separar os polígonos para a camada & # 8220commercial & # 8221 porque precisamos que cada polígono tenha um ponto centróide. O resultado é dois conjuntos de pontos: um conjunto localizado no centro de cada polígono de City Block e outro conjunto localizado no centro de cada polígono & # 8220commerciallu & # 8221. Com esses pontos no lugar, podemos usá-los para calcular a distância dos pontos do centroide do City Block 2000 aos pontos do centroide na camada & # 8220commercialxy & # 8221. A ferramenta & # 8220near & # 8221 foi usada para calcular a proximidade de áreas comerciais, com o & # 8220landusexy & # 8221 como nossa entrada e o & # 8220commercial xy & # 8221 como nossa saída, um novo campo chamado & # 8220neardist & # 8221 foi criado na tabela de atributos & # 8220landusesexy & # 8221. Nessa tabela de atributos, adicionamos um novo campo chamado & # 8220score & # 8221 para padronizar as distâncias para que os valores tenham um intervalo de 0-100. Isso foi feito inserindo & # 8220 ([neardist] / (valor máximo de [neardist]) * 100) & # 8221 na calculadora de campo do & # 8220score & # 8221. Para exibir as distâncias continuamente (representadas por polígonos em vez de pontos), juntamos as informações da tabela de atributos de & # 8220landusexy & # 8221 à tabela de atributos da tabela de atributos do City Block 2000. Finalmente, The City Block 2000 contendo os valores de pontuação foi convertido em um arquivo raster IMAGINE, denominado & # 8220proxcommras & # 8221.

A GeoCommunity separou os dois arquivos rodoviários em quatro setores. Para conectar todos os oito setores, usamos a ferramenta append, criando assim um único arquivo de estrada. Uma vez que nossa análise está interessada apenas nas principais estradas e rodovias, devemos separá-la dos dados redundantes (neste) Caso, estradas e ruas menores . Ao selecionar valores de preto na tabela de atributos (rodovias e vias arteriais são listadas com valores), excluímos as estradas e ruas menores. Então, usando selecionar por valores na tabela de atributos com instruções SQL, como (por exemplo, usando o campo apropriado para selecionar rodovias interestaduais) "NÚMERO = I-5 ou número = I-90 ou NÚMERO = I-405", nós separamos a rodovia e as vias arteriais em duas camadas separadas, pois estas terão pesos diferentes em nossa análise.


Abstrato

O objetivo desta pesquisa foi implementar um sistema de informação geográfica com métodos de tomada de decisão multicritério, para selecionar o local mais viável para a instalação de usinas eólicas no Equador continental. Além disso, foi realizado um processo de padronização, que consiste em estabelecer um índice geral de desempenho para avaliação dos resultados. Finalmente, o coeficiente de correlação de Pearson é usado para analisar a correspondência mútua entre métodos de tomada de decisão multicritério.

Nesta pesquisa, diferentes critérios de seleção que incluem parâmetros meteorológicos (velocidade do vento, densidade do ar), relevo (declividade), localização (distâncias a subestações, malha viária, áreas urbanas, linhas de transmissão, portos de carregamento) e parâmetros ambientais (cobertura vegetal), foi considerado.

Os resultados desta pesquisa revelaram que o local com maior índice de desempenho geral é a região andina do Equador, com uma área de mais de 617,5 km 2. O resultado do índice geral de desempenho indica que os quatro métodos de tomada de decisão multicritério selecionados forneceram resultados semelhantes, onde o valor foi igual ou superior a 75% da pontuação máxima de um local ideal. Neste contexto, os métodos analisados ​​convergem para soluções semelhantes e indicam que o método de tomada de decisão multicritério é uma ferramenta poderosa para selecionar localizações ideais para parques eólicos.


Procedimento

As instruções abaixo descrevem como extrair as coordenadas X e Y do centro de cada célula em uma grade usando a ferramenta Raster to Point e a ferramenta Calculate Geometry.

  1. Crie um ponto para cada célula na grade usando o Raster para apontar ferramenta, usando as seguintes etapas:
    1. Adicione a grade raster ao ArcMap usando o Adicionar Dados botão no Padrão barra de ferramentas.
    2. No ArcToolbox janela, navegue para Ferramentas de conversão & gt De Raster & gt Raster para apontar.
    3. No Raster para apontar caixa de diálogo, selecione a grade para o Raster de entrada. Quando o Raster de entrada está definido, o Campo parâmetro é alterado automaticamente para Valor.
    4. Defina um nome e local para o Recursos de ponto de saída.

    A figura abaixo mostra um exemplo de pontos convertidos da grade usando o Raster para apontar ferramenta.

    1. Adicione dois novos campos na tabela de atributos, um para X e outro para Y, e use o Calcular geometria ferramenta para calcular as coordenadas dos pontos, utilizando os seguintes passos:
      1. No Índice, clique com o botão direito na camada criada na Etapa 1 e Abrir Tabela de Atributos.
      2. Clique Opções de mesa & gt Adicionar campo.
      3. No Adicionar campo janela, nomeie o campo Northing (para coordenadas Y) e defina o Modelo para Dobro.

      A imagem a seguir é um exemplo de um arquivo Microsoft Excel contendo coordenadas X e Y exportadas de uma tabela de atributos.


      Segunda-feira, 18 de julho de 2016

      Exercício 4: Trabalhando com Campos e Seleções

      Os objetivos
      O objetivo deste exercício era adicionar e calcular campos, bem como selecionar recursos usando instruções SQL em Python. Isso foi feito usando o script (e dados) do exercício três e modificando algumas das ferramentas usadas.

      O processo

      Primeiro, os módulos do sistema necessários para este exercício foram importados. Em seguida, as variáveis ​​foram configuradas. Em seguida, as ferramentas 'adicionar campo', 'calcular campo' e 'selecionar' foram usadas. Finalmente, a compactação foi calculada e o exercício concluído.

      #import system models
      importar arcpy
      from arcpy import env
      importar os
      tempo de importação
      importar data e hora

      #permitir que o script substitua os arquivos existentes
      arcpy.env.overwriteOutput = True

      #create variables
      print "Criar variáveis", datetime.datetime.now (). strftime ("% H:% M:% S")

      #input geodatabase
      ex3geodatabasePath = "Q: StudentCoursework CHupy GEOG.491.801.2167 MILLERZM BlankResults_Ex3.gdb"

      # Este nome de arquivo será usado para o nome fc 'dissolver saída' subsequente
      intersectName = "IntersectedFcs"
      dissolveOutput = os.path.join (ex3geodatabasePath, intersectName) + "_ Dissolved"

      #outputVariables
      selectName = "DissolveFC_Selected"
      finalSelect = os.path.join (ex3geodatabasePath, selectName)
      print "Adicionando um campo ao fcs dissolvido", datetime.datetime.now (). strftime ("% H:% M:% S")

      # Processo: Adicionar Campo
      arcpy.AddField_management (dissolveOutput, "Area_km2", "FLOAT", "", "", "", "", "NULLABLE", "NON_REQUIRED", "")
      print "Calculando a área em km2", datetime.datetime.now (). strftime ("% H:% M:% S")

      # Processo: Calcular o campo
      arcpy.CalculateField_management (dissolveOutput, "Area_km2", "[Shape_Area] / 1000000", "VB", "")
      print "Selecionando apenas polígonos com áreas maiores que 2km", datetime.datetime.now (). strftime ("% H:% M:% S")

      # Processo: Selecione (4)
      arcpy.Select_analysis (dissolveOutput, finalSelect, "Area_km2 & gt2")
      print "Adicionando um campo para calcular compactação", datetime.datetime.now (). strftime ("% H:% M:% S")

      # Processo: Adicionar Campo (2)
      arcpy.AddField_management (finalSelect, "Compactness_Float", "FLOAT", "", "", "", "", "NULLABLE", "NON_REQUIRED", "")
      print "Calculando compactação", datetime.datetime.now (). strftime ("% H:% M:% S")

      # Processo: Calcular o campo (2)
      arcpy.CalculateField_management (finalSelect, "Compactness_Float", "[Shape_Area] / ([Shape_Length] * [Shape_Length])", "VB", "")


      imprimir "Cálculos concluídos", datetime.datetime.now (). strftime ("% H:% M:% S")

      Todas as fontes fornecidas pela Dra. Christina Hupy

      Exercício 3: Introdução ao geoprocessamento com Python

      Os objetivos

      O objetivo desta tarefa era familiarizar-se com a importação de módulos para configurar um script, criando variáveis ​​inteligentes e exportando modelos de geoprocessamento como scripts. Essa tarefa foi realizada simplesmente recriando as etapas realizadas no primeiro exercício da aula, por meio de scripts em Python.

      O processo

      Primeiro, deveria haver uma conexão com o modelo criado no exercício um, essa conexão foi feita exportando o modelo como um arquivo .py e salvo em um geodatabase criado para o exercício três. Em seguida, os módulos ArcPy e os módulos Python foram importados para o Python para poder escrever o script. Esses módulos incluem: os, time e datetime. Em seguida, as variáveis ​​foram criadas vinculando os arquivos às suas respectivas bases de dados geográficas e, em seguida, ferramentas foram utilizadas para manipular os dados. Depois que os dados foram recortados, armazenados em buffer, selecionados, etc., eles foram exportados para o novo geodatabase que foi criado para este exercício. Por último, os dados foram limpos, por assim dizer, e o script gerou um novo arquivo no geodatabase.

      Os resultados

      #-------------------------------------------------------------------------------
      # Nome: Ex3
      # Objetivo: Encontra áreas ideais para estações de esqui
      #
      # Autor: Zach Miller
      #
      # Date: 15/07/2016
      #-------------------------------------------------------------------------------
      # Garantir que o programa está funcionando
      imprimir "Script inicializado"

      #import system models
      importar arcpy
      from arcpy import env
      importar os
      tempo de importação
      importar data e hora
      arcpy.env.overwriteOutput = True

      #create variables
      print "Criar variáveis", datetime.datetime.now (). strftime ("% H:% M:% S")

      #input geodatabase
      ex1geodatabasePath = "Q: StudentCoursework CHupy GEOG.491.801.2167 MILLERZM Ex1.gdb"

      #inout names
      nfsLand = "NFS_Land"
      snowDepth = "SnowDepth_in"
      temp = "Temperatura_F"
      studyArea = "StudyArea"
      aeroportos = "aeroportos"

      #linking geodatabase with name
      nfsInput = os.path.join (ex1geodatabasePath, nfsLand)
      snowDepthInput = os.path.join (ex1geodatabasePath, snowDepth)
      tempInput = os.path.join (ex1geodatabasePath, temp)
      studyAreaInput = os.path.join (ex1geodatabasePath, studyArea)
      aeroportosInput = "Q: StudentCoursework CHupy GEOG.491.801.2167 MILLERZM Ex1.gdb Airports_Project"

      #output variables
      ex3geodatabasePath = "Q: StudentCoursework CHupy GEOG.491.801.2167 MILLERZM BlankResults_Ex3.gdb"