Mais

Escrevendo a ferramenta de script Python para permitir que o ModelBuilder pule os rasters sem dados?

Escrevendo a ferramenta de script Python para permitir que o ModelBuilder pule os rasters sem dados?


Este construtor de modelos funciona bem até a etapa de varredura para polígono. Nessa etapa, os rasters sem recursos causam um erro (erro 010151). Eu gostaria de colocar uma etapa antes de rasterizar em polígono que faz com que o modelo pule esses rasters "sem recursos". Tenho muito pouca experiência com python e rasters e preciso de ajuda. Tentei fazer uma sequência de contagem de linhas, mas não funcionou porque os rasters não tinham uma tabela para verificar.


Devo ressaltar minha resposta com o aviso de que tenho pouca experiência como construtor de modelos, mas aqui está o que fui capaz de descobrir.

Eu encontrei este post, e para mim o terceiro método funcionou melhor para determinar se um raster tem valores nele.

Eu criei um.pyarquivo e adicionado este código:

import arcpy import numpy ras = arcpy.GetParameterAsText (0) array = arcpy.RasterToNumPyArray (ras) if numpy.max (array)> 0: arcpy.SetParameterAsText (1, ras) else: arcpy.SetParameterAsText (1, "") arcpy .SetParameterAsText (2, "True")

Em seguida, criei uma caixa de ferramentas ArcGIS customizada e adicionei meu script:

Eu adicionei algumas propriedades básicas:

Eu adicionei o caminho para o arquivo python:

Eu defino as propriedades dos parâmetros conforme abaixo. Certificar-se de queTem ValoreseNão tem valorestêm sua direção definida paraSaída:

Consegui, então, incorporar o script ao construtor de modelo arrastando / soltando-o:

Se o raster tiver valores, a saída Has Values ​​será uma string do caminho para o raster. Caso contrário, será uma string vazia.


Assista o vídeo: Enviando JSON e recebendo JSON com curl no C++ PARTE 2