Encontrando distância do ponto ao longo da polilinha usando o ArcGIS Desktop?

23

Precisamos encontrar a distância de uma série de pontos ao longo de uma dada polilinha.

Temos um conjunto de dados de polilinha que representa rios em uma bacia hidrográfica, divididos em alcances de rios (FID 1 a 35, por exemplo).

Também temos um conjunto de dados pontuais de licenças de captação dentro dessa bacia, algumas das quais situadas ao longo dos rios - podemos ver na tabela de atributos quais são as definidas como licenças de águas subterrâneas ou de águas superficiais.

Os dois não estão relacionados - ou seja, um não foi derivado do outro. Portanto, nem todas as licenças de águas superficiais se situam exatamente sobre as polilinhas dos rios, apesar da 'realidade' estar nesses rios.

Precisamos ser capazes de ver quais pontos estão "a montante / a jusante" um do outro e, portanto, queremos ter uma lista de qual rio atinge o ponto em que está, seguido pela distância a jusante desde o início desse alcance. Podemos então comparar as distâncias a jusante de dois pontos para ver qual está a montante e qual está a jusante - o resultado desejado!

Para resolver o problema de encontrar pontos em / muito perto dos rios, fomos instruídos a usar um (pequeno) amortecedor em torno de cada alcance do rio e, em seguida, consultá-lo para encontrar os pontos dentro dele.

Isso é bom, mas ficamos com uma área (buffer), não uma linha, portanto não podemos medir uma distância ao longo / dentro dela.

Podemos usar um buffer conforme descrito para descobrir os pontos próximos ao alcance do rio em questão e, de alguma forma (?!), Consultar esses pontos quanto à distância ao longo do alcance do rio (segmento de polilinha)?

PolyGeo
fonte
você tem um campo em sua classe de característica de polilinha contendo o FID de alcance a jusante?
21411 Kirk Kuykendall
você precisa fazer isso no arcmap ou você pode usar arcobjects?
23411 Steve Steve
O RivEX pode gerar esse tipo de saída, veja as ferramentas para encaixar e vincular.
Hornbydd

Respostas:

22

Essa é uma tarefa perfeita para os recursos de referência linear no ArcGIS. Consulte a ajuda para Localizar recursos ao longo de rotas e verifique a partir daí. As ferramentas incluem a capacidade de transformar uma camada de pontos próximos a uma rota (o rio chega) em descritores de "evento de ponto", que nomeiam a rota (o alcance) e a distância desde o início da rota. É exatamente o que você quer. Além disso, essas ferramentas permitem uma "tolerância" configurável pelo usuário: os pontos não precisam estar exatamente nas rotas.

O fluxo de trabalho é:

  1. Faça o rio atingir "mensurável". Isso configura a capacidade de encontrar distâncias ao longo de cada alcance.

  2. Represente os pontos como uma camada de pontos.

  3. Use a ferramenta para criar uma "tabela de eventos" para os pontos relativos às rotas.

  4. Verifique seu trabalho, pois pode ser necessário reverter as direções de algumas das margens do rio, dependendo da consistência com que foram digitalizadas.

whuber
fonte
+1. Eles também devem olhar para fazer os rios em uma rede geométrica para usar ferramentas que irá receber a montante / jusante recursos, caminhos etc.
geographika
Idem. ArcGIS pode fazer todo o trabalho pesado de este problema de interpolação en.wikipedia.org/wiki/Interpolation
Ragi Yaser Burhum
1
Deve-se observar que você precisa ter o conjunto de dados de pontos e o conjunto de dados de rota no mesmo sistema de coordenadas. A ferramenta Localizar recursos ao longo de rotas não funcionaria corretamente para mim até que eu tivesse reprojetado o recurso de linha no mesmo sistema de coordenação que meu arquivo de pontos e, em seguida, criei um evento de rota a partir do recurso de linha reprojetado.
Giski # 23/13
@ Matiss Obrigado por esse lembrete. Apesar dos recursos de reprojeção "on-the-fly" nos GIS atuais, ainda é o único modo confiável de conduzir suas análises é garantir que todos os conjuntos de dados de entrada sejam fisicamente armazenados em um sistema de coordenadas comum (e apropriado).
whuber
@whuber você sempre ajuda.
precisa saber é o seguinte
3

Eu nunca tentei isso, mas você pode considerar tratar isso como um problema de geocodificação reversa . Você faria isso criando um localizador de endereços para seus rios, tratando a medida como o endereço De e Para.

Kirk Kuykendall
fonte
1

http://resources.arcgis.com/en/help/main/10.1/index.html#//004800000006000000

Esta ferramenta leva em rede (você precisa ter analista de rede) e pontos. Após aplicar a ferramenta, você acaba tendo o valor t (valor entre 0 e 1) como PosAlong. Os valores são armazenados na tabela de pontos de entrada. Como 0 é o ponto inicial da polilinha e 1 é o ponto final, é necessário multiplicá-lo pelo comprimento da polilinha. Você também possui o SourceOID, que é o ID da polilinha na mesma tabela.

Kalvo
fonte