Mais

Erro ao converter um raster em polígonos


Quando estou convertendo um raster usando a ferramenta polygonize, recebo este erro:

ERRO 4: 'C: / Usuários / Vitor / Desktop / Cartografia EE_Portimo / COS RASTER / cos_raster_reeditada.tif' não existe no sistema de arquivos e não é reconhecido como um nome de conjunto de dados suportado.

Tentei com outros rasters e continuo obtendo o mesmo erro.

Alguém sabe do que se trata ou como posso resolver?


O problema é que algo na pilha (QGIS, GDAL ou o sistema operacional) não parece estar manipulando o caractere ã no nome do diretório (então Portimão se torna Portimo).

Parece um bug, que você deve verificar se já não está arquivado em http://hub.qgis.org/projects/quantum-gis/issues e, se ainda não foi preenchido, adicione detalhes.

Enquanto isso, eu trabalharia com um caminho de diretório "simples" - tente evitar qualquer coisa que não seja ASCII simples e também evite espaços (improvável que seja um problema, mas mais seguro se você for alterar o caminho qualquer maneira).

Se você realmente precisa usar um caminho contendo caracteres UTF-8 arbitrários, talvez possa tentar no Linux?


Raster para polígono (conversão)

O raster de entrada pode ter qualquer tamanho de célula e deve ser um conjunto de dados raster de inteiro válido.

O parâmetro Field permite que você escolha qual campo de atributo do conjunto de dados raster de entrada se tornará um atributo na classe de recurso de saída. Se um campo não for especificado, os valores da célula do raster de entrada (o campo VALUE) se tornarão uma coluna com o título Gridcode na tabela de atributos da classe de recurso de saída.

O gráfico a seguir ilustra como o raster de entrada é vetorizado quando é convertido em uma saída de recurso de polígono. O resultado é apresentado para ambas as configurações do parâmetro Simplify.

Se o parâmetro Criar recursos multipartes estiver marcado (MULTIPLE_OUTER_PART em Python), a saída será uma classe de recursos multipartes e, em média, o processo será mais rápido. No entanto, se a classe de recurso de saída contiver um grande número de recursos, isso pode causar um erro de falta de memória. O processo de agrupamento é semelhante ao usado na ferramenta Dissolver.

O parâmetro Máximo de vértices por polígono pode ser usado para subdividir um polígono em polígonos menores com base em um limite de vértice especificado. Isso é particularmente útil quando os recursos de saída contêm um grande número de vértices. Este parâmetro produz uma saída semelhante à criada pela ferramenta Dados.

Se Extent for especificado na configuração do ambiente e o canto inferior esquerdo da extensão de saída não corresponder a nenhum canto da célula do raster de entrada, durante o processamento, ocorrerá uma mudança no alinhamento da célula do raster de entrada para corresponder à extensão especificada. Esta mudança irá disparar uma reamostragem do raster de entrada usando o método do Vizinho Mais Próximo. Conseqüentemente, os recursos de saída também mudarão e os recursos de saída resultantes podem não se sobrepor exatamente ao raster de entrada original. Você pode evitar essa mudança usando o raster de entrada como o Snap Raster no ambiente.


Sintaxe de script

ArcGISRasterFindAndConvertToPolygons_GeoEco (inputWorkspace, outputWorkspace, simplify, field, wildcard, searchTree, rasterType, projectedCoordinateSystem ,ographicTransformation, resamplingTechnique, projectedCellSize, registrationPoint, clippingDataset, rasterType, mapAlgExpressionExpression, outputFeatClebra

Espaço de trabalho para receber as classes de recurso do polígono.

Determina se os polígonos de saída serão suavizados em formas mais simples ou se em conformidade com as bordas da célula do raster de entrada.

Verdadeiro - Os polígonos serão suavizados em formas mais simples. Este é o padrão.

Falso - os polígonos se conformarão às bordas da célula do raster de entrada.

O campo usado para atribuir valores das células no raster de entrada aos polígonos no conjunto de dados de saída. Pode ser um número inteiro ou um campo de string.

Expressão curinga especificando os rasters a serem encontrados. Consulte a documentação da função ListRasters do geoprocessador ArcGIS para obter mais informações sobre a sintaxe. No momento em que este livro foi escrito, apenas o caractere curinga * era compatível, o que corresponderia a zero ou mais de qualquer caractere.

Se True, os espaços de trabalho filhos serão pesquisados.

Tipo de rasters a localizar. Se fornecido, apenas rasters deste tipo serão encontrados. No momento da redação deste artigo, a documentação do ArcGIS 9.3 especificava que qualquer uma das seguintes strings seria aceita: ALL, BMP, GIF, GRID, IMG, JP2, JPG, PNG, TIFF.

Este parâmetro requer ArcGIS 9.3 ou posterior.

Novo sistema de coordenadas para projetar o raster.

O raster só pode ser projetado para um novo sistema de coordenadas se a projeção original for definida. Um erro será gerado se você especificar um novo sistema de coordenadas sem definir o sistema de coordenadas original.

A ferramenta ArcGIS Project Raster é usada para realizar a projeção. A documentação dessa ferramenta recomenda que você também especifique um tamanho de célula para o novo sistema de coordenadas.

Eu percebi que para certos sistemas de coordenadas, a ferramenta ArcGIS 9.2 Project Raster parece cortar o raster projetado em uma extensão arbitrária que é muito pequena. Por exemplo, ao projetar uma imagem global de clorofila MODIS Aqua de 4 km em coordenadas geográficas para Lambert_Azimuthal_Equal_Area com meridiano central de -60 e latitude de origem de -63, a imagem resultante é cortada para mostrar apenas um quarto do planeta. Este problema não ocorre quando o Project Raster é chamado interativamente a partir da interface do usuário do ArcGIS, ele ocorre apenas quando a ferramenta é chamada programaticamente (o método ProjectRaster_management do geoprocessador). Portanto, você pode não ver quando usa o Project Raster, mas pode acontecer quando você usa ferramentas MGET que invocam o Project Raster como parte de suas operações de geoprocessamento.

Se você encontrar esse problema, pode contorná-lo desta forma:

Primeiro, execute esta ferramenta sem especificar um novo sistema de coordenadas, para obter o raster no sistema de coordenadas original.

No ArcCatalog, use a ferramenta Project Raster para projetar o raster para o novo sistema de coordenadas. Verifique se todo o raster está presente, se não foi cortado em uma extensão muito pequena.

No ArcCatalog, procure a extensão do raster projetado clicando com o botão direito do mouse na árvore do catálogo, selecionando Propriedades e rolando para baixo até Extent.

Agora, antes de executar a ferramenta MGET que projeta o raster, defina a configuração do ambiente Extent para os valores que você pesquisou. Se você estiver chamando a ferramenta MGET interativamente de ArcCatalog ou ArcMap, clique no botão Ambientes na caixa de diálogo da ferramenta, abra Configurações Gerais, altere a lista suspensa Extensão para "Conforme Especificado Abaixo" e digite os valores que você pesquisou. Se você o está chamando de um modelo de geoprocessamento, clique com o botão direito do mouse na ferramenta no modelo, selecione Criar variável, Do ambiente, Configurações gerais, Extensão. Isso colocará Extent como uma variável em seu modelo, anexada à ferramenta MGET. Abra a variável Extent, altere-a para "As Specified Below" e digite os valores que você pesquisou. Se você estiver chamando a ferramenta MGET programaticamente, deve definir a propriedade Extent do geoprocessador para os valores pesquisados. Consulte a documentação do ArcGIS para obter mais informações sobre isso e as configurações de ambiente em geral.

Execute a ferramenta MGET. A extensão da imagem agora deve ter o tamanho adequado.

Um método de transformação usado para converter entre o sistema de coordenadas original e o novo sistema de coordenadas.

Este parâmetro é uma nova opção introduzida pelo ArcGIS 9.2. Você deve ter ArcGIS 9.2 para usar este parâmetro.

Este parâmetro é necessário apenas quando você especifica que o raster deve ser projetado para um novo sistema de coordenadas e que o novo sistema usa um datum diferente do sistema de coordenadas original, ou há alguma outra diferença entre os dois sistemas de coordenadas que requer uma transformação. Para determinar se uma transformação é necessária, recomendo o seguinte procedimento:

Primeiro, execute esta ferramenta sem especificar um novo sistema de coordenadas, para obter o raster no sistema de coordenadas original.

Em seguida, use a ferramenta ArcGIS 9.2 Project Raster no raster para projetá-lo no sistema de coordenadas desejado. Se uma transformação geográfica for necessária, essa ferramenta solicitará uma. Anote o nome exato da transformação que você usou.

Finalmente, se uma transformação for necessária, digite o nome exato nesta ferramenta, execute-a novamente e verifique se o raster foi projetado conforme desejado.

O algoritmo de reamostragem a ser usado para projetar o raster original em um novo sistema de coordenadas. A ferramenta ArcGIS Project Raster é usada para realizar a projeção e aceita os seguintes valores:

NEAREST - interpolação do vizinho mais próximo

BILINEAR - interpolação bilinear

Você deve especificar um desses algoritmos para projetar para um novo sistema de coordenadas. Um erro será gerado se você especificar um novo sistema de coordenadas sem selecionar um algoritmo.

O tamanho da célula do sistema de coordenadas projetadas. Embora este parâmetro seja opcional, para receber os melhores resultados, a documentação do ArcGIS recomenda que você sempre o especifique ao projetar para um novo sistema de coordenadas.

As coordenadas xey (no espaço de saída) usadas para alinhamento de pixel.

Este parâmetro é uma nova opção introduzida pelo ArcGIS 9.2. Você deve ter ArcGIS 9.2 para usar este parâmetro. Ele será ignorado se você não especificar que a imagem deve ser projetada em um novo sistema de coordenadas.

Classe de recurso existente, raster ou outro conjunto de dados geográficos com a extensão em que o raster deve ser recortado.

AVISO: Se você usar esta ferramenta em um modelo de geoprocessamento ArcGIS e selecionar um conjunto de dados clicando no ícone da pasta e navegando até o conjunto de dados, sua seleção pode desaparecer misteriosamente desta caixa de texto após fechar a ferramenta. Este é um bug no ArcGIS. Para contornar isso, arraste e solte o conjunto de dados desejado no modelo. Isso criará uma camada no modelo para esse conjunto de dados. Em seguida, selecione essa camada nesta ferramenta clicando na caixa suspensa em vez de clicar no ícone da pasta. A camada selecionada não deve desaparecer quando você fecha a ferramenta.

Retângulo ao qual o raster deve ser recortado.

Se um sistema de coordenadas projetadas foi especificado, o recorte é executado após a projeção e as coordenadas do retângulo devem ser especificadas no novo sistema de coordenadas. Se nenhum sistema de coordenadas projetadas foi especificado, as coordenadas devem ser especificadas no sistema de coordenadas original.

A ferramenta ArcGIS Clip é usada para executar o clipe. O retângulo de recorte deve ser passado para esta ferramenta como uma string de quatro números separados por espaços. A interface de usuário do ArcGIS formata automaticamente a string de maneira adequada ao chamar esta ferramenta a partir da UI do ArcGIS, você não precisa se preocupar com o formato. Mas, ao invocá-lo programaticamente, tome cuidado para fornecer uma string formatada corretamente. Os números são ordenados ESQUERDA, INFERIOR, DIREITA, CIMA. Por exemplo, se o raster estiver em um sistema de coordenadas geográficas, ele pode ser cortado em 10 W, 15 S, 20 E e 25 N com a string:

Podem ser fornecidos números inteiros ou decimais.

Expressão de álgebra do mapa para executar no raster.

AVISO: O ArcGIS Geoprocessing Model Builder pode excluir aleatoriamente e silenciosamente o valor deste parâmetro. Este é um bug no ArcGIS. Antes de executar um modelo que você salvou, abra esta ferramenta e valide se o valor do parâmetro ainda existe.

A expressão é executada depois que o raster convertido é projetado e cortado (se essas opções forem especificadas). Use a string inputRaster que faz distinção entre maiúsculas e minúsculas para representar o raster sobre o qual você deseja executar a álgebra de mapa. Por exemplo, para converter a varredura em uma varredura inteira e adicionar 1 a todas as células, use esta expressão:

A string inputRaster diferencia maiúsculas de minúsculas. Antes de executar a expressão de álgebra do mapa, a string é substituída pelo caminho para um raster temporário que representa o raster que está sendo gerado. A expressão final deve ter menos de 4000 caracteres ou o ArcGIS relatará um erro.

A ferramenta ArcGIS Single Output Map Algebra é usada para executar a expressão da álgebra do mapa. Você deve ter uma licença para a extensão ArcGIS Spatial Analyst para executar álgebra de mapas.

A sintaxe da álgebra de mapas pode ser muito exigente. Aqui estão algumas dicas que o ajudarão a ter sucesso com esta ferramenta:

Antes de usar esta ferramenta, construa e teste sua expressão de álgebra de mapa usando a ferramenta ArcGIS Single Output Map Algebra. Em seguida, cole a expressão nesta ferramenta e edite-a para usar a variável inputRaster em vez do valor de teste usado com Álgebra de Mapa de Saída Única.

Se você desenvolver sua expressão diretamente nesta ferramenta, comece com uma expressão muito simples. Verifique se funciona corretamente, acrescente um pouco e verifique novamente. Repita este processo até construir a expressão completa.

Sempre separe os operadores matemáticos dos caminhos raster usando espaços. No exemplo acima, o operador / contém um espaço em cada lado. Siga este padrão. Em algumas circunstâncias, o ArcGIS falhará no processamento de expressões de álgebra raster que não separem caminhos raster de operadores usando espaços. A mensagem de erro relatada geralmente não indica que esse é o problema e rastreá-lo pode ser muito frustrante.

Expressão Python usada para calcular o caminho absoluto de uma classe de recurso de saída. A expressão pode ser qualquer instrução Python apropriada para passar para a função eval e deve retornar uma string Unicode. A expressão pode fazer referência às seguintes variáveis:

workspaceToSearch - o valor fornecido para o espaço de trabalho para o parâmetro de pesquisa

outputWorkspace - o valor fornecido para o parâmetro do espaço de trabalho de saída

inputRaster - o caminho absoluto para o raster de entrada

armazena as classes de recursos na área de trabalho de saída no mesmo local relativo que os rasterizadores de entrada na área de trabalho a ser pesquisada. O caminho da classe de recurso é calculado removendo o espaço de trabalho para pesquisar no caminho raster de entrada e substituindo-o pelo espaço de trabalho de saída.

Para obter mais informações sobre a sintaxe do Python, consulte a documentação do Python.

Módulos Python a serem importados antes de avaliar a expressão. Se você precisa acessar funções Python ou classes que são fornecidas por um módulo em vez de serem embutidas no interpretador, liste o módulo aqui. Por exemplo, para poder usar a classe datetime em sua expressão, liste o módulo datetime aqui. Em sua expressão, você deve se referir à classe usando seu nome totalmente qualificado, datetime.datetime.

Se for True, a conversão será ignorada para classes de recursos que já existem.


Lapply para converter rasters em polígonos usando gdal_polygonizeR

Estou usando o gdal_polygonizeR de John Baumgrtner (https://johnbaumgartner.wordpress.com/2012/07/26/getting-rasters-into-shape-from-r/) para converter rasters em polígonos em R. À parte - tentei o pacote raster rasterToPolygons função e demorou uma eternidade gdal_polygonizeR é muito mais rápido. De qualquer forma, tenho uma lista de 533 arquivos raster (extensões diferentes) que desejo converter em polígonos. A função gdal_polygonizeR funciona quando um único elemento de lista é chamado, mas tentei usá-la em todos os elementos de lista usando lapply e recebo uma mensagem de erro. Veja o código abaixo:

Saída = os primeiros seis (6) elementos parecem funcionar bem, mas recebo a seguinte mensagem de erro em [[7]]:

wfp1 & lt- gdal_polygonizeR (rasterl_50 [[1]]) Criação de saída /var/folders/s9/pm92gdl94h18k4n6026cb8x00000gn/T//RtmpvRRvA4/file23d4dc99d8d.shp do formato ESRI Shapefile. 0. 10. 20. 30. 40. 50. 60. 70. 80. 90. 100 - feito. wfp2 & lt- gdal_polygonizeR (rasterl_50 [[2]]) Criação de saída /var/folders/s9/pm92gdl94h18k4n6026cb8x00000gn/T//RtmpvRRvA4/file23d7698a853.shp do formato ESRI Shapefile. 0. 10. 20. 30. 40. 50. 60. 70. 80. 90. 100 - feito. wfp3 & lt- gdal_polygonizeR (rasterl_50 [[3]]) Criação de saída /var/folders/s9/pm92gdl94h18k4n6026cb8x00000gn/T//RtmpvRRvA4/file23d30d4d703.shp do formato ESRI Shapefile. 0. 10. 20. 30. 40. 50. 60. 70. 80. 90. 100 - feito. wfp4 & lt- gdal_polygonizeR (rasterl_50 [[4]]) Criação de saída /var/folders/s9/pm92gdl94h18k4n6026cb8x00000gn/T//RtmpvRRvA4/file23d24036d07.shp do formato ESRI Shapefile. 0. 10. 20. 30. 40. 50. 60. 70. 80. 90. 100 - feito. wfp5 & lt- gdal_polygonizeR (rasterl_50 [[5]]) Criação de saída /var/folders/s9/pm92gdl94h18k4n6026cb8x00000gn/T//RtmpvRRvA4/file23d4683ed87.shp do formato ESRI Shapefile. 0. 10. 20. 30. 40. 50. 60. 70. 80. 90. 100 - feito. wfp6 & lt- gdal_polygonizeR (rasterl_50 [[6]]) Criação de saída /var/folders/s9/pm92gdl94h18k4n6026cb8x00000gn/T//RtmpvRRvA4/file23d4e23b4d1.shp do formato ESRI Shapefile. 0. 10. 20. 30. 40. 50. 60. 70. 80. 90. 100 - feito. wfp7 & lt- gdal_polygonizeR (rasterl_50 [[7]]) Criação de saída /var/folders/s9/pm92gdl94h18k4n6026cb8x00000gn/T//RtmpvRRvA4/file23d6791d108.shp do formato ESRI Shapefile. 0. 10. 20. 30. 40. 50. 60. 70. 80. 90. 100 - feito. Erro em readOGR (dirname (outshape), layer = basename (outshape), verbose =! Quiet): nenhum recurso encontrado Além disso: Mensagem de aviso: Em ogrFIDs (dsn = dsn, camada = camada): Mostrar Traceback

Execute novamente com o erro de depuração em readOGR (dirname (outshape), layer = basename (outshape), verbose =! Quiet): nenhum recurso encontrado

Se alguém tiver ideias para uma solução usando lapply ou loop for etc., responda. Obrigado


Código (crédito): SFS (0-2-2)

Componentes do SIG, Tipos de Dados em SIG, Escala, Latitude e longitude, Aplicação do SIG, Vantagens e limitações do SIG.

Introdução ao QGIS: uma visão geral da interface, adicionar camada de um conjunto de dados de arquivo de forma, exploração de dados, estilo de dados (raster e vetor), rotular arquivos vetoriais, carregar o Google Earth para QGIS, baixar dados raster em QGIS, combinação de banda raster.

Module - II: FERRAMENTAS DE ANÁLISE DE DADOS
Análise espacial de dados raster, análise de rede, operações e análises vetoriais, edição de dados, dados primários e secundários.

Gerenciando um conjunto de dados:
Georreferenciamento (mapa para imagem e imagem para imagem), projeção, criação de banco de dados: digitalização usando ponto, linha e polígono, editar, recortar, cruzar, união, mesclar, juntar e subconjunto. Edição da tabela de atributos.
Google Earth (converter arquivo de forma em formato KML e arquivo KML em arquivo de forma, importar dados para o Google earth, visualização de Bhuvan, extrair dados do Google Earth, extrair dados de ponto, extrair dados de polígono, extrair dados de linha, sobreposição de uma imagem no Google Earth) ,

Módulo - III: ANÁLISE DE DADOS ESPACIAIS

Modelo de dados e estrutura de dados, geodatabase e metadados, modelo de dados GIS, análise de sobreposição, modelagem de rede, modelos de estrutura de dados, vantagens e desvantagens.

Ligação de dados espaciais e não espaciais e consultas, Junção de dados tabulares com os dados de atributos de feições, Consulta não espacial, Consulta espacial, Junção espacial, Análise espacial baseada em vetor, Análise de dados espaciais baseada em raster, Buffer, Criação de Contorno, Rede.

Módulo - IV: CARTOGRAFIA Digital

Definição, âmbito e conceitos da cartografia, Características das categorias cartográficas dos mapas, métodos de cartografia, mapas de relevo, mapas temáticos. Tendências em Cartografia.

Simbologia (generalização, simbologia e efeito de cor, mude a simbologia e use a transparência de maneiras criativas)

Módulo - V: RELAÇÃO DO MAPA DA TERRA

Projeção de Mapas de Geodésia, princípios de classificação de construção de projeções comuns, projeções cilíndricas, cônicas, azimutais e globulares. Propriedades e usos da projeção. O esferóide, escala do mapa e sistema de coordenadas. Coordenadas de avião no sistema UTM,

Módulo - VI: Modelo Digital de Elevação (DEM)

Conceito de DEM, Várias técnicas para gerar DEM, Importância da resolução espacial para DEM, Integração de DEM a dados de satélite, Derivadas comuns de DEM, Declive, Aspectos, TIN, Fontes de DEM.

Google Earth para DEM, preparação de mapas 3D, Contorno para DEM, TIN e Aspect, modelagem de hidrologia de superfície baseada em DEM.

Módulo - VII: GPS

Introdução do Sistema de Posicionamento Global (GPS), constelação de satélites, sinais e dados GPS, conceitos básicos. Discussão sobre NAVSTAR, GLONASS, GALLILEO, COMPASS, Segmento de Controle, Segmentos Espaciais, Segmento de Usuário - operações de GPS, precisão, fontes de erro e análise.

Configuração de instrumentos, Observação, Download e processamento de dados, plotagem de pontos, Georreferenciamento, Cálculo de erros.


Solução de problemas de conversão de polígono em raster

Tenho desenvolvido meu programa com apenas um conjunto de dados e resolvi todos os bugs desse conjunto de dados. Agora, estou testando em alguns outros conjuntos de dados para ter certeza de que tudo está funcionando conforme o esperado.

Estou tendo um problema na etapa de configuração dos ambientes do meu programa. O usuário insere um shapefile de polígono que contém um polígono que representa o contorno do lote. Este polígono é usado para criar uma máscara para futuros cálculos raster. O esboço básico desta parte do programa é o seguinte:

  1. Tampe o polígono de contorno em 50 pés
  2. Converta o polígono em buffer em um raster
  3. Defina o raster como a máscara e o snapraster para o restante do programa

Um raster vazio é criado ao converter o polígono em buffer em um raster. Tentei fazer manualmente no GIS e tive o mesmo problema. Eu adicionei um campo inteiro ao meu shapefile armazenado em buffer e convertido em um raster baseado nesse campo inteiro (ao invés do ID ou FID que eram ambos 0). Isso não corrigiu. Depois de definir a extensão de processamento da mesma forma que meu DEM, funcionou. Fiz essas alterações no meu código e ele ainda não está produzindo os resultados esperados. Não está me dando um erro, mas me diz que o raster está vazio e continua executando meu código. Esgotei minhas habilidades de solução de problemas. Também quero repetir: funciona quando faço manualmente no GIS, mas não funciona via código por algum motivo.

Meu código está imprimindo o seguinte:

Preparando os arquivos necessários.

Verificar e criar pastas de saída para arquivos GIS.

Verificando e criando espaço de saída para tabelas.

Configurando o tamanho da célula para o tamanho da célula DEM: 5,0 pés.

Criação de uma máscara de ambiente a partir do shapefile de contorno do site.

Todas as células na grade k: gradwork gis colleg

1 cp scratch rastermask tem valor NODATA. O IVA não será construído. (VatBldNew)


ToPolygonOutlines Método

Converte um raster do ArcGIS em linhas que contornam grupos de células raster adjacentes com o mesmo valor.

Aula:ArcGISRaster
Uso pretendido:Recomendado para chamadores externos
COM:Exposto como o método ToPolygonOutlines da classe COM GeoEco.ArcGISRaster
ArcGIS:Exposto como a ferramenta de geoprocessamento Convert ArcGIS Raster to Polygon Outlines
Tipo de método:Método de classe

Uso

ArcGISRaster.ToPolygonOutlines( inputRaster, outputFeatureClass [ , simplificar [ , campo [ , projectedCoordinateSystem [ , Transformação geográfica [ , resamplingTechnique [ , projectedCellSize [ , registrationPoint [ , clippingDataset [ , clippingRectangle [ , mapAlgebraExpression [ , Sobrescrever existente ] ] ] ] ] ] ] ] ] ] ] )

Argumentos

O raster será convertido em uma classe de feição de polígono usando a ferramenta ArcGIS Raster para Polígono, e então para feições de linha usando a ferramenta Recurso para Linha. A ferramenta Raster to Polygon só pode converter rasters inteiros em polígonos. Se o raster de entrada for um raster de ponto flutuante, você deve usar o parâmetro Map Algebra Expression para convertê-lo em um raster inteiro.

outputFeatureClass

Tipo Python:Unicode
Comprimento mínimo:1
Comprimento máximo:255
Deve existir:Não

Classe de recurso de linha de saída.

Diretórios ausentes neste caminho serão criados se eles não existirem.

simplificar

Tipo Python:bool
Valor padrão: Verdadeiro

Determina se os polígonos de saída serão suavizados em formas mais simples ou se em conformidade com as bordas da célula do raster de entrada.

  • Verdadeiro - Os polígonos serão suavizados em formas mais simples. Este é o padrão.
  • Falso - os polígonos se conformarão às bordas da célula do raster de entrada.

O campo usado para atribuir valores das células no raster de entrada às linhas no conjunto de dados de saída. Pode ser um número inteiro ou um campo de string.

projectedCoordinateSystem

Tipo Python:Unicode ou Nenhum
Valor padrão:Nenhum
Comprimento mínimo:1

Novo sistema de coordenadas para projetar o raster.

O raster só pode ser projetado para um novo sistema de coordenadas se a projeção original for definida. Um erro será gerado se você especificar um novo sistema de coordenadas sem definir o sistema de coordenadas original.

A ferramenta ArcGIS Project Raster é usada para realizar a projeção. A documentação dessa ferramenta recomenda que você também especifique um tamanho de célula para o novo sistema de coordenadas.

Eu percebi que para certos sistemas de coordenadas, a ferramenta ArcGIS 9.2 Project Raster parece cortar o raster projetado em uma extensão arbitrária que é muito pequena. Por exemplo, ao projetar uma imagem global de clorofila MODIS Aqua de 4 km em coordenadas geográficas para Lambert_Azimuthal_Equal_Area com meridiano central de -60 e latitude de origem de -63, a imagem resultante é cortada para mostrar apenas um quarto do planeta. Este problema não ocorre quando o Project Raster é chamado interativamente a partir da interface do usuário do ArcGIS, ele ocorre apenas quando a ferramenta é chamada programaticamente (o método ProjectRaster_management do geoprocessador). Portanto, você pode não ver quando usa o Project Raster, mas pode acontecer quando você usa ferramentas MGET que invocam o Project Raster como parte de suas operações de geoprocessamento.

Se você encontrar esse problema, pode contorná-lo desta forma:

  • Primeiro, execute esta ferramenta sem especificar um novo sistema de coordenadas, para obter o raster no sistema de coordenadas original.
  • No ArcCatalog, use a ferramenta Project Raster para projetar o raster para o novo sistema de coordenadas. Verifique se todo o raster está presente, se não foi cortado em uma extensão muito pequena.
  • No ArcCatalog, procure a extensão do raster projetado clicando com o botão direito do mouse na árvore do catálogo, selecionando Propriedades e rolando para baixo até Extent.
  • Agora, antes de executar a ferramenta MGET que projeta o raster, defina a configuração do ambiente Extent para os valores que você pesquisou. Se você estiver chamando a ferramenta MGET interativamente de ArcCatalog ou ArcMap, clique no botão Ambientes na caixa de diálogo da ferramenta, abra Configurações Gerais, altere a lista suspensa Extensão para "Conforme Especificado Abaixo" e digite os valores que você pesquisou. Se você o está chamando de um modelo de geoprocessamento, clique com o botão direito do mouse na ferramenta no modelo, selecione Criar variável, Do ambiente, Configurações gerais, Extensão. Isso colocará Extent como uma variável em seu modelo, anexada à ferramenta MGET. Abra a variável Extent, altere-a para "As Specified Below" e digite os valores que você pesquisou. Se você estiver chamando a ferramenta MGET programaticamente, deve definir a propriedade Extent do geoprocessador para os valores pesquisados. Consulte a documentação do ArcGIS para obter mais informações sobre isso e as configurações de ambiente em geral.
  • Execute a ferramenta MGET. A extensão da imagem agora deve ter o tamanho adequado.

Um método de transformação usado para converter entre o sistema de coordenadas original e o novo sistema de coordenadas.

Este parâmetro é uma nova opção introduzida pelo ArcGIS 9.2. Você deve ter ArcGIS 9.2 para usar este parâmetro.

Este parâmetro é necessário apenas quando você especifica que o raster deve ser projetado para um novo sistema de coordenadas e que o novo sistema usa um datum diferente do sistema de coordenadas original, ou há alguma outra diferença entre os dois sistemas de coordenadas que requer uma transformação. Para determinar se uma transformação é necessária, recomendo o seguinte procedimento:

  • Primeiro, execute esta ferramenta sem especificar um novo sistema de coordenadas, para obter o raster no sistema de coordenadas original.
  • Em seguida, use a ferramenta ArcGIS 9.2 Project Raster no raster para projetá-lo no sistema de coordenadas desejado. Se uma transformação geográfica for necessária, essa ferramenta solicitará uma. Anote o nome exato da transformação que você usou.
  • Finalmente, se uma transformação for necessária, digite o nome exato nesta ferramenta, execute-a novamente e verifique se o raster foi projetado conforme desejado.

O algoritmo de reamostragem a ser usado para projetar o raster original em um novo sistema de coordenadas. A ferramenta ArcGIS Project Raster é usada para realizar a projeção e aceita os seguintes valores:

  • NEAREST - interpolação do vizinho mais próximo
  • BILINEAR - interpolação bilinear
  • CUBIC - convolução cúbica

Você deve especificar um desses algoritmos para projetar para um novo sistema de coordenadas. Um erro será gerado se você especificar um novo sistema de coordenadas sem selecionar um algoritmo.

projectedCellSize

Tipo Python:flutuador ou Nenhum
Valor padrão:Nenhum

O tamanho da célula do sistema de coordenadas projetadas. Embora este parâmetro seja opcional, para receber os melhores resultados, a documentação do ArcGIS recomenda que você sempre o especifique ao projetar para um novo sistema de coordenadas.

ponto de registro

Tipo Python:Unicode ou Nenhum
Valor padrão:Nenhum
Comprimento mínimo:1
Deve corresponder à expressão regular: ([- +]? [0-9] * .? [0-9] + ([eE] [- +]? [0-9] +)?) S + ([- +]? [0- 9] * .? [0-9] + ([eE] [- +]? [0-9] +)?)

As coordenadas xey (no espaço de saída) usadas para alinhamento de pixel.

Este parâmetro é uma nova opção introduzida pelo ArcGIS 9.2. Você deve ter ArcGIS 9.2 para usar este parâmetro. Ele será ignorado se você não especificar que a imagem deve ser projetada em um novo sistema de coordenadas.

clippingDataset

Tipo Python:Unicode ou Nenhum
Valor padrão:Nenhum
Comprimento mínimo:1
Comprimento máximo:255
Deve existir:sim

Classe de recurso existente, raster ou outro conjunto de dados geográficos com a extensão em que o raster deve ser recortado.

AVISO: Se você usar esta ferramenta em um modelo de geoprocessamento ArcGIS e selecionar um conjunto de dados clicando no ícone da pasta e navegando até o conjunto de dados, sua seleção pode desaparecer misteriosamente desta caixa de texto após fechar a ferramenta. Este é um bug no ArcGIS. Para contornar isso, arraste e solte o conjunto de dados desejado no modelo. Isso criará uma camada no modelo para esse conjunto de dados. Em seguida, selecione essa camada nesta ferramenta clicando na caixa suspensa em vez de clicar no ícone da pasta. A camada selecionada não deve desaparecer quando você fecha a ferramenta.

clippingRectangle

Tipo Python:Unicode ou Nenhum
Valor padrão:Nenhum
Comprimento mínimo:1
Deve corresponder à expressão regular: ([- +]? [0-9] * .? [0-9] + ([eE] [- +]? [0-9] +)?) S + ([- +]? [0- 9] * .? [0-9] + ([eE] [- +]? [0-9] +)?) S + ([- +]? [0-9] * .? [0- 9] + ([eE] [- +]? [0-9] +)?) S + ([- +]? [0-9] * .? [0-9] + ([eE] [- +]? [0-9] +)?)

Retângulo ao qual o raster deve ser recortado.

Se um sistema de coordenadas projetadas foi especificado, o recorte é executado após a projeção e as coordenadas do retângulo devem ser especificadas no novo sistema de coordenadas. Se nenhum sistema de coordenadas projetadas foi especificado, as coordenadas devem ser especificadas no sistema de coordenadas original.

A ferramenta ArcGIS Clip é usada para executar o clipe. O retângulo de recorte deve ser passado para esta ferramenta como uma string de quatro números separados por espaços. A interface de usuário do ArcGIS formata automaticamente a string de maneira adequada ao chamar esta ferramenta a partir da UI do ArcGIS, você não precisa se preocupar com o formato. Mas, ao invocá-lo programaticamente, tome cuidado para fornecer uma string formatada corretamente. Os números são ordenados ESQUERDA, INFERIOR, DIREITA, CIMA. Por exemplo, se o raster estiver em um sistema de coordenadas geográficas, ele pode ser cortado em 10 W, 15 S, 20 E e 25 N com a string:

Podem ser fornecidos números inteiros ou decimais.

mapAlgebraExpression

Tipo Python:Unicode ou Nenhum
Valor padrão:Nenhum
Comprimento mínimo:1
Comprimento máximo:4000

Expressão de álgebra do mapa para executar no raster.

AVISO: O ArcGIS Geoprocessing Model Builder pode excluir aleatoriamente e silenciosamente o valor deste parâmetro. Este é um bug no ArcGIS. Antes de executar um modelo que você salvou, abra esta ferramenta e valide se o valor do parâmetro ainda existe.

The expression is executed after the converted raster is projected and clipped (if those options are specified). Use the case-sensitive string inputRaster to represent the raster that you now want to perform map algebra upon. For example, to convert the raster to an integer raster and add 1 to all of the cells, use this expression:

The string inputRaster is case-sensitive. Prior to executing the map algebra expression, the string is replaced with the path to a temporary raster that represents the raster being generated. The final expression must be less than 4000 characters long or ArcGIS will report an error.

The ArcGIS Single Output Map Algebra tool is used to execute the map algebra expression. You must have a license for the ArcGIS Spatial Analyst extension in order to perform map algebra.

Map algebra syntax can be very picky. Here are some tips that will help you succeed with this tool:

  • Before using this tool, construct and test out your map algebra expression using the ArcGIS Single Output Map Algebra tool. Then paste the expression into this tool and edit it to use the inputRaster variable rather than the test value you used with Single Output Map Algebra.
  • If you do develop your expression directly in this tool, start with a very simple expression. Verify that it works properly, add a little to it, and verify again. Repeat this process until you have built up the complete expression.
  • Always separate mathematical operators from raster paths using spaces. In the example above, the / operator contains a space on either side. Follow this pattern. In some circumstances, ArcGIS will fail to process raster algebra expressions that do not separate raster paths from operators using spaces. The reported error message usually does not indicate that this is the problem, and tracking it down can be very frustrating.

If True, the output feature class will be overwritten, if it exists. If False, a ValueError will be raised if the output feature class exists.


Free Geography Tools

Exploring the world of free tools for GIS, GPS, Google Earth, neogeography, and more.

Converting DEM Files To .asc Format For Terrain Bender Creating Matching Raster Overlays

In an earlier post, I covered Terrain Bender, a program that lets you create varying-angle terrain views from digital elevation models (DEMs), with optional overlay imagery, analogous to the view you get from the window of an airplane:

One problem with Terrain Bender is that the only DEM format it accepts as input is ESRI ASCII grid files, *.asc these aren’t always easily available. But you can use the free GIS program SAGA to convert DEMs from other formats to *.asc:

– If the DEM is in a standard raster format like a GeoTiff, use the Import/Export – GDAL/OGR: Import Raster module

– If the DEM is in a grid format (e.g. SRTM30 Grid, Surfer, XYZ), look in the Import/Export Grids folder for the appropriate import module, and use that to import the data.

2. Open the Import/Export Grids: Export ESRI Arc/Info Grid module, select the data loaded in step 1, and export it as a *.asc file. Terrain Bender seems to read this file successfully, as long as it’s not too large.

3/12/10: The latest version of Terrain Bender now supports more variants of the .asc format, including that created by MicroDEM.

Another problem is that Terrain Bender can be picky about the exact format of the *.asc file if it’s not in the precise “correct” format that Terrain Bender wants, it may reject it or crash, even if that file opens successfully in other programs. You can use SAGA to “launder” the *.asc file so that Terrain Bender will accept it:

1. Load the *.asc file into SAGA with the Import/Export Grids: Import ESRI Arc/Info Grid module.

2. Export the data into a different *.asc file with the Import/Export Grids: Export ESRI Arc/Info Grid module.

Another problem is with raster image overlays, like the topo map in the image above overlaid on top of a “bent” terrain view. In order for the map to align with the terrain, the geographic extents of both have to be exactly the same, and that can be tricky. But the free GIS program MicroDEM can make this easier.

1. Load the DEM into MicroDEM.

2. Load into MicroDEM the georeferenced raster image you want to use as an overlay for that DEM in Terrain Bender. The raster image should cover at least the same geographical extents as the DEM, and preferably overlap those extents.

3. Select the DEM by clicking on it, then choose File => Match other maps => This coverage area from the menu. The raster image will be cropped to match the extents of the DEM exactly.

Note: If the “This coverage area” option doesn’t show up for the DEM, it may be a bug/quirk with the program. Click on the raster image to select it, and choose that option. Click on the DEM again, and that option should appear on the menu.

4. Click on the magnifying glass with the “1” inside on the raster map (the “No zoom 1:1 view” control) this will blow up the image to a 1:1 image pixel to screen pixel size.

5. Choose File => Save image from the menu Terrain Bender supports all 4 image format export options (BMP, JPG, PNG, and GIF). You can now use this image as a perfectly-matched overlay for the DEM in Terrain Bender.

If the geographic extents of the raster image are smaller than those of the DEM, you’ll need to crop your DEM to reduce its extents to within the boundaries of the raster image. You can do this in MicroDEM, then match the raster image to the cropped DEM, and save the cropped DEM as well as the matching raster image. Save the cropped DEM in ESRI Grid *.asc format, but you’ll have to run it through SAGA as described above to “launder” it into a new *.asc file Terrain Bender won’t accept *.asc files created by MicroDEM.

You’ll also need to crop out any null-elevation values on a DEM, like those on UTM DEM grids covering a lat/long area, as in this example where the black areas are null values:

Terrain Bender will treat these null elevation values as zero elevation, creating a “pedestal effect”.

Crop out the areas with null values, and you won’t have this problem.

Related posts:

Looking for something else? Enter some keywords below, then click "Search".    

7 Responses to “Converting DEM Files To .asc Format For Terrain Bender Creating Matching Raster Overlays”

Or by using VTBuilder, in the VTP suite of programs…

Landserf will do this conversion very easily as well. Easier interface than SAGA.

Do you know why Terrain Bender does not like the ASC files from MICRODEM, in which case it should be trivial to fix?

Bernie Jenny (one of the authors) asked me to send him a copy of an .asc file generated by MicroDEM, and he says that it will now read those files. On my system, another bug has popped up that keeps me from confirming this.

There appears to be a new version of TerrainBender (posted today) which will read the MICRODEM files (but keeps crashing on my system).

It looks to me like the old problem was Terrain Bender insisting on a CR/LF at the end of each each row, but it did not like my attempt to put those in.

Yes, that’s the problem I’m having. Bernie says it doesn’t crash on his system he sent me a special version with extra error tracking, and I’ve just sent him my error log.

Problem with Terrain Bender was resolved, at least on my system. You need to have the very latest OpenGL drivers installed on your system when I updated mine to the latest version, Terrain Bender worked fine.


Trouble with converting Raster to Polyline [ArcMap]

I am creating a map of a cemetery in town for my semester GIS project and I am using a scanned blueprint to digitize plots of a cemetery. Hopefully some of you can find where my issue is as I don't yet understand a lot of errors that happen in ArcMap.

First I converted a .pdf of the cemetery to a high resolution .tiff file> I started a new map and added the ESRI basemap "Imagery with Labels" to my .mxd > I then added the cemetery .tiff file and georeferenced it to the correct scale and shape and rectified> I saved the rectified image in my .gdb for this project > Using the edit features toolbar I added a feature class in my .gdb and created a polygon around a part of the cemetery > From there I used extract by mask on the raster image of the cemetery to cut a piece of the cemetery out > That piece is also saved in my .gdb

Because the raster of the entire cemetery is way to big to do a raster to polyline conversion I have to cut it up > When I begin the raster to polyline conversion I keep getting an error "ERROR 999999" Cannot acquire a lock "Error 010213 Error in reading Band_1" "Error 010067 error executing grid expression"

I read the ESRI help on the error codes and they don't really make sense, I don't know how to calculate statistics on a raster image either. Any help with this would be appreciated. If it matters I have the data frame's projected coordinate system defined as well.


Warning, inconsistent extent!

I am working on an analysis (coursework) using population density and crop .asc data. With either crop or popd grid loaded, I draw a rectangle around the country I am working on and convert graphics to features.

I need to clip both crop and popd grids.

Then I define their projections as WGS84.

Reprojecting as raster to UTM 38S WGS84.

My problem is: When I reproject, I get an error saying 'warning, inconsistent extent'

I have no idea how to proceed.

by DanPatterson_Re tired

Were the data actually in the WGS84 coordinate system?

Projecting the data if it were not in the coordinate system that you thought it was in will make the Project process faulty.

What do you mean by ' if they were actually in the coordinate system'?

by DanPatterson_Re tired

WGS84 is a datum, not a coordinate system.

Are the data you projected in a GCS WGS84 coordinate system? That is, a Geographic Coordinate System, with units of decimal degrees?

or do you have a projected coordinate system with a WGS84 datum?

Or maybe a Web Mercator (projected coordinate system) with a WGS84 datum?

Is the data extent between -180 to 180 in the east west direction and 90 to -90 in the north south direction?

Just because a dataset has a coordinate system, doesn't mean it was defined properly.

Further, if the user defines one, because there was no coordinate system in the first place. they better define it correctly. That is the purpose of the last link.

If you don't check the extent yourself and confirm the metadata yourself, then "defining" a coordinate system can be an error prone venture. And, if it is defined wrong, projecting it won't make any better, but undoubtedly worse.


Assista o vídeo: Conversão de raster para vetor shapefile no QGIS (Outubro 2021).