3 votos

Creación de puntos a lo largo de la corriente 3D en los puntos de inflexión

Mi objetivo es generar puntos a lo largo de la línea central de mi corriente en cualquier positivo puntos de inflexión (0,5 pies de elevación o más). Utilicé una cuadrícula de superficie de agua (Raster) para convertir las líneas centrales de mis arroyos en 3D utilizando la herramienta Interpolate Shape.

Mirando mi flujo en la vista de perfil, aquí hay algunos ejemplos de dónde me gustaría crear puntos:

enter image description here

He publicado una pregunta similar antes, pero este script compara la diferencia absoluta entre dos vértices cualesquiera y no captura los puntos de inflexión. Crear puntos a lo largo de la corriente 3D donde la elevación cambia en 1 pie

Mi idea es almacenar el valor inicial y luego mirar el siguiente vértice, si es menor de 0,5, saltar y pasar al siguiente vértice. Continuar esto hasta que llegue a un vértice que es 0,5 o mayor desde el punto de partida. Entonces cree un punto en este vértice. A continuación, seguir adelante y encontrar el siguiente salto de 0,5 o más.

¿Alguien tiene alguna idea de cómo hacer un script con ArcPy y Python 3?

4voto

user1965813 Puntos 153

Asegúrese de que sus líneas centrales de polilíneaZ comienzan en la parte superior de su drenaje y apuntan hacia abajo. Dividir las líneas centrales en algunas longitudes de división que sean razonables para su análisis (como la resolución en píxeles de su trama de nivel de agua). Añada los valores Z de su trama de nivel de agua utilizando Añadir información Z . Utilice el añadir geometría a la tabla de atributos para rellenar la tabla de atributos con los valores Z del vértice inicial y final de los segmentos recién creados. Reste los valores Z iniciales de los valores Z finales utilizando calcular el campo . Los registros que satisfacen su requisito son sus puntos de inflexión.

Los enlaces proporcionados tienen muestras de código Python (o construya el proyecto en Modelbuilder y exporte a Python si lo desea).

1voto

xenny Puntos 670

Un enfoque alternativo es crear primero una trama de curvatura (la herramienta de curvatura está disponible en 3D o en Spatial analyst) y luego obtener los puntos en los que esta trama supera un umbral determinado. Si tiene muchos flujos, esto podría ser bastante eficiente.

0voto

RooSoft Puntos 160

Si se sintiera más cómodo calculando la inflexión en Excel, sólo tendría que registrar el ID de la línea central y la medida, y luego usar "Hacer capa de eventos de ruta" para localizar esos puntos a lo largo de la línea central.

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