1 votos

Encontrar un punto en la red de carreteras a una distancia determinada de un punto específico

Tengo una red de carreteras en una geodatabase. En un determinado cruce de la red (punto A), quiero averiguar el punto B que está a X kilómetros del punto A en una determinada dirección.

Resumen:

  • Punto A: punto fijo
  • Punto B: Desconocido
  • Kms: distancia fija

Lo he estado haciendo utilizando Network Analyst; trazando una ruta desde el punto A al B, haciendo clic en la información para ver los kms, luego ajustando el punto B y recalculando la ruta hasta alcanzar la distancia de kms deseada.

Como las carreteras son curvas, no puedo usar el buffer. Por favor, aconsejar si hay una mejor manera.

1voto

Steve Puntos 11

Sí, hay una forma mejor. Usted está mirando áreas de servicio . Se trata esencialmente de un "buffer" que se limita a seguir las rutas de la red. Aunque normalmente se ejecuta contra el tiempo de conducción (muestra las áreas dentro de una unidad de cinco minutos de x, donde el tiempo de conducción [velocidad/distancia] es la impedancia de la red), se puede ejecutar utilizando la distancia como la impedancia, por lo que un resultado le mostrará todas las porciones de una red dentro de x distancia de su punto de origen.

Mientras que a usted sólo le interesa "una determinada dirección" y un área de servicio rodeará por completo el origen, un único punto en "una determinada dirección" no tiene mucho sentido dependiendo de cómo sea la red de carreteras. Al crear un área de servicio, verá exactamente dónde se encuentra el límite de x km a lo largo de cualquier carretera de la red, ya sea "esta manzana" o "la manzana de al lado". Entonces podrá situar su punto en la intersección que mejor se ajuste a su idea de "una determinada dirección".

Si busca una distancia específica a lo largo de una ruta Entonces puede generar la ruta primero como un análisis, ejecutar un análisis del área de servicio a la distancia adecuada y, finalmente, encontrar dónde el límite del área de servicio se cruza con la ruta específica para localizar el punto.

0voto

overstay_info Puntos 11

Parece que deberías sobrepasar la ruta que quieres y configurar la salida de la ruta para que te dé la forma real con medidas. Las medidas comienzan en 0 desde el Punto A y se incrementan acumulativamente hasta llegar a este Punto B inicial. Cree una tabla que contenga dos campos: el ID de la ruta y un campo de medida de distancia con la distancia deseada en esa ruta donde realmente quiere que se encuentre el Punto B. Utiliza esta tabla para crear una capa de evento de punto contra la salida de la Ruta con medidas y aparecerá un punto en la capa a la distancia que quieras en esa ruta. Copie/pegue ese nuevo punto en la configuración del analista de redes que utilizó para generar su ruta para reemplazar el Punto B original y debería obtener la ruta que está buscando.

También podría añadir dos campos dobles a la salida de la ruta inicial y calcular la medida desde y hasta de cada segmento en ellos utilizando el cálculo de Python de !Shape.FirstPoint.M! y !Shape.LastPoint.M! para seleccionar qué segmento de la ruta contendrá la distancia que desea (es decir, FROM_MEAS <= distancia_deseada y TO_MEAS >= distancia_deseada).

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X