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)?
Respostas:
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 é:
Faça o rio atingir "mensurável". Isso configura a capacidade de encontrar distâncias ao longo de cada alcance.
Represente os pontos como uma camada de pontos.
Use a ferramenta para criar uma "tabela de eventos" para os pontos relativos às rotas.
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.
fonte
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.
fonte
Usar Near (Análise)
http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//00080000001q000000.htm
fonte
http://help.arcgis.com/en/sdk/10.0/arcobjects_net/componenthelp/index.html#/QueryPointAndDistance_Method/002m00000116000000/
O atributo DistanceAlongCurve fornecerá o que você procura. Mas apenas para um do rio.
fonte
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.
fonte