Eu tenho uma varredura contendo dezenas de milhões de pontos, todos com dados X, Y e Z definidos. Preciso descobrir uma maneira simples de extrair e criar um novo raster ou vetor com TODOS os pontos a 720 m de distância um do outro (X, Y) e a 120 m de diferença de elevação (Z) um do outro.
Eu tenho ZERO conhecimento de SQL e Python. Eu tenho tentado fazer isso no VBA e criei alguns algoritmos, mas o tempo de processamento é irracional e irreal. Estou certo de que deve haver uma abordagem GIS simples para fazer isso, mas não consigo encontrá-la.
Estou usando o ArcMap.
arcgis-desktop
vba
user32882
fonte
fonte
0
= não tem pontos a 720m de distância e elevação de ± 120m,1
= um ou mais pontos de 720m de distância e elevação de ± 120m? Ou você precisa contar quantos pontos atenderiam aos critérios?Respostas:
Uma abordagem talvez simples demais seria usar a estatística focal .
MIN
para encontrar o menor valor de elevação na vizinhança.MAX
, para encontrar o valor de elevação mais alto na vizinhança.Usando a Calculadora de varredura , avalie se as diferenças de elevação são grandes o suficiente. Algo como
Con((Abs("DEM" - "FSMin") > 120) | (Abs("DEM" - "FSMax") > 120), 1, 0)
Se a diferença min-original ou diferença max-original exceder 120 m, o valor será 1, caso contrário, 0. ( Nota: não testei a sintaxe. )
Isso informa apenas se uma célula possui uma ou mais células vizinhas que atendem aos seus critérios de distância / elevação, mas não informa quantas.
fonte