Mais

Criando uma série de pontos ao longo de várias polilinhas de uma vez no ArcMap?


Eu tenho uma série de polilinhas que representam vegetação linear (faixas de proteção, etc). Preciso convertê-los em uma série de pontos igualmente espaçados para adicioná-los a um arquivo de forma diferente que represente a vegetação pontual (árvores individuais). Devo também mencionar que tenho cerca de 300 polilinhas para fazer isso, então gostaria de poder fazer todas de uma vez. As polilinhas variam em comprimento, mas independentemente do comprimento, quero colocar pontos no início, no final de cada linha e, em seguida, a cada 10 m.

Eu imagino que isso exigirá um script python. Sobre o qual não estou familiarizado com a forma de escrever.

Alguém sabe como posso fazer isso no ArcMap 10?

Eu olhei para uma pergunta semelhante postada anteriormente para alguém que queria criar 6 pontos em 70.000 linhas de vários comprimentos e encontrei este script Python:

import arcpy points = [] for row in arcpy.da.SearchCursor ("YourInputLinesFileHere", ["SHAPE @"]): length = row [0] .length for i in range (0,6): point = row [0 ] .positionAlongLine (length / 5 * i) points.append (point) arcpy.CopyFeatures_management (points, 'YourOutputPointsFileHere')

Portanto, sei que deve ser possível com o python, mas não estou familiarizado com ele o suficiente para manipular isso.


Experimente isso na janela do Python no ArcMap:

points = [] para linha em arcpy.da.SearchCursor ('C: /Temp/line.shp', ["SHAPE @"]): # altere para o comprimento da camada de linha de origem = int (linha [0] .length ) para i em xrange (0, comprimento + 10, 10): # assumindo que as unidades estão em metros para o recurso ponto de referência espacial = linha [0] .positionAlongLine (i) points.append (ponto) arcpy.CopyFeatures_management (points, 'C : /Temp/points.shp ') # mude para onde quiser que esta camada seja armazenada

Você pode conseguir isso usando a ferramenta Construir Pontos no modo de edição.

Se precisar fazer isso com vários recursos, você pode usar a ferramenta Densify e, em seguida, usar Feature Vértices para Pontos. Tenha em mente que isso assume que você atualmente tem linhas, e não polilinhas, porque TODOS os vértices (mesmo um que não esteja na sua distância de densificação especificada) também se tornarão pontos.

Além disso, consulte Criando pontos no intervalo de 0,125 grau decimal usando ArcPy? para um exemplo de python para fazer este processo, e usando 'construir pontos' em todas as linhas em um arquivo de forma (arcpy) para uma ferramenta personalizada.


Assista o vídeo: PASSO A PASSO DAS SÉRIES - COMO ESCREVER O SEU PILOTO (Outubro 2021).