Soy nuevo en GIS y estoy sorprendido. Tengo una red de ríos que se compone de pequeñas cadenas lineales (polilíneas). En un archivo shape diferente, tengo ubicaciones de varias estaciones en un río. Necesito encontrar la distancia a lo largo del río desde cada estación hasta el final del río.
El problema es que no tengo una cadena lineal completa de río. Y no hay un atributo común que pueda usar para unir o fusionar las cadenas lineales. Además, algunas estaciones están en afluentes.
Entonces, en resumen, necesito hacer una gran red de ríos, incluidos los afluentes, y realizar referencias de línea. Pero no sé cómo hacer esto. Cualquier ayuda es muy apreciada. Por favor explique lo más claramente posible.
Por favor comente si necesita más información.
fuente
Respuestas:
Estoy de acuerdo con BWill. Su principal problema es definir el origen de cada polilínea. ¿Qué constituye un 'río'? Ι supondría que un afluente es una "ruta" independiente a partir de 0-> longitud del afluente. Entonces haría lo mismo para los ríos principales, pero en este caso crearía una polilínea fusionada a partir de todas las polilíneas constituyentes. Creo que una vez que tienes que estás "casi" allí. Luego: Convierta todas sus polilíneas combinadas en polilíneas medidas (PolylineM), incluidos los afluentes. Entonces tienes tu 'red de rutas'. A partir de entonces, se trata de encontrar la distancia a lo largo de su ruta para cada estación. ¿Supongo que las ubicaciones de las estaciones están definidas en XY? Además, otra suposición, no caen exactamente sobre el río, ¿ellos? En cualquier caso, necesitará una forma de encontrar la distancia de la estación desde el comienzo de cada río o triburary. En teoría, si una estación está en la intersección del río y el afluente, puede tener 2 ubicaciones (una para cada una).
Para encontrar esta ubicación, puede usar las herramientas de ArcMap, pero no las he usado por un tiempo, así que no puedo recordar la parte superior de mi cabeza. Por otro lado, si importa sus archivos de forma (?) A PostGIS, podría usar ST_Line_Locate_Point . Esta función:
Lo que significa que luego puede encontrar la ubicación a lo largo del río multiplicando lo que encuentre con la longitud (combinada) del río. Una nota final: si usa PostGIS, no tiene que pasar por el paso de crear el PolylineM, solo ArcGIS lo requiere para la referencia lineal.
Espero que esto tenga sentido!
fuente
De mi pregunta de la misma naturaleza,
Cómo crear un punto a lo largo de una línea dada la distancia
aparecieron los siguientes enlaces útiles.
grass.osgeo.org/gdp/html_grass63/lrs.html
wiki.faunalia.it/dokuwiki/doku.php/qgis/lrs
No completo mi tarea por falta de esfuerzo. Creo que el tedio que experimentarás es nominar el origen de cada polilínea.
fuente