Yo también buscaba la posibilidad de borrar líneas aisladas de los datos de OSM. Por desgracia, tengo una gran cantidad de datos. Y teniendo que tratar con conjuntos de datos de redes de todos modos, no quería examinar las redes geométricas. Pero la sugerencia de Michaels funcionó, ¡muchas gracias! Tuve que cambiar dos cosas: En primer lugar, tuve que desdoblar las líneas en el principio, de modo que yo era capaz de eliminar también las partes aisladas que consiste en más de 1 línea de características. En segundo lugar, el último paso consiste en una consulta a las líneas con un joinCount de 2 (en lugar de un iCount de 1). Mis datos son datos OSM preprocesados, almacenados en una geodatabase de archivos. Aquí están los pasos detallados:
- Haga una copia del conjunto de datos de carreteras -> roads_copy
- Utilice la herramienta "unsplit line" en roads_copy -> roads_unsplit
- Utilice la herramienta "feature vertices to points" en roads_unsplit (tipo de punto: ambos extremos) -> roads_vert
- Usar la herramienta "recoger eventos con renderizado" en roads_vert (bastante tiempo) -> roads_collect (los extremos no conectados obtienen ICOUNT = 1)
- Consulta roads_collect: "Select from roads_collect where ICOUNT = 1"
- Exportar el resultado de la consulta -> roads_icount1
- Utilice la herramienta "spatial join" para unir roads_icount1 (= características de unión) a roads_unsplit (= características de destino); elija "one_to_one", "keep all target features" e "intersect" -> roads_join (las carreteras aisladas obtienen Join_Count = 2)
- Consulta roads_join: "Select from roads_join where Join_Count = 2"
- Utilizar "seleccionar capa por ubicación" en las carreteras originales (¡no divididas!); seleccionar características = roads_join, relación = "share_a_line_segment_with", tipo de selección = "new_selection"
- Eliminar las filas seleccionadas con la herramienta "eliminar filas"
Ahí lo tienes. Tal vez ponerlo en un modelo. Parece un poco complicado, pero conduce al resultado deseado para mí.