Ao analisar o Buffer com barreira física usando o ArcGIS for Desktop? , ocorreu-me que não tenho certeza de como alguém poderia usar as ferramentas de geoprocessamento no ArcGIS para dividir um polígono com uma linha programaticamente.
Manualmente, você usaria a ferramenta Cortar polígonos ou a ferramenta Dividir polígonos na barra de ferramentas Topologia , mas como você executaria a mesma tarefa usando as ferramentas de script modelbuilder ou groprocessamento de python?
Logo de cara , penso em todas as ferramentas da caixa de análise, como Union, Identity, etc., mas essas são todas ferramentas Polygon-Polygon, NÃO ferramentas Polygon-Line. Até a ferramenta Dividir é Polígono-Polígono.
Alguma ideia?
arcpy
arcgis-10.0
RyanKDalton
fonte
fonte
aPolygon.Split (aPolyLine)
:-).Respostas:
Usando o ET Geowizard, você pode acessar o código da ferramenta Split Polygons with Polylines:
Aqui está o link para o script .
Como alternativa, você pode usar o ArcObjects para fazer isso:
Cortar fragmento de polígono
Você também pode usar o método de buffer de um lado descrito aqui .
fonte
Depois disso, acabei criando minha própria ferramenta ModelBuilder. Esqueci essa pergunta e postei minha solução em outra pergunta semelhante . Para ser completo, este é um repost da resposta:
fonte
Se você quiser sair do ArcGIS, use geom.splitpolysbylines .
Pessoalmente, nunca o usei em um programa, mas acho que você pode acessar esta linha de comando com python, consulte a ajuda para obter mais detalhes.
fonte
se você não tiver problemas de alta precisão, você armazenará em buffer a linha com a distância mínima, por exemplo (0,002, acho que deve ser superior à precisão da classe de recursos) e, em seguida, aplique uma ferramenta de apagamento ao polígono pela linha em buffer.
fonte
Código arcpy atualizado para dividir polígonos na direção horizontal ou vertical usando valores percentuais
fonte