Estoy buscando una manera de dividir puntos por una clase de entidad de polígono del condado. La imagen adjunta muestra dos clases de entidad: una compuesta por puntos y la otra una clase de entidad poligonal del condado. La herramienta de división sería ideal si permitiera puntos. Preferiría una salida limpia sin campos adicionales agregados a los atributos de punto. Además, me gustaría tener el nombre del condado de la clase de entidad poligonal que define las nuevas clases de entidad de puntos (por ejemplo, Kiowa, Clark, Comanche). Agradezco cualquier solución y consejo.
Para este ejemplo, el producto final debe ser una clase de entidad de tres puntos llamada "Kiowa", "Clark" y "Comanche" producida a partir de una clase de entidad de punto más grande. Una solución automatizada sería ideal, ya que tengo muchos, muchos puntos FC combinados en docenas de condados para trabajar (aproximadamente en el estado de KS).
Respuestas:
Después de usar Spatial Join o Intersect para obtener el atributo de nombre del condado en cada punto, intente usar la herramienta Split Layer by Attributes de Dan Patterson disponible en la Galería de herramientas de script y modelo de geoprocesamiento .
Alternativamente, podría usar ModelBuilder para automatizar esto usando un enfoque diferente que involucra Seleccionar capa por ubicación (haga clic en la miniatura para ver la imagen completa).
Extraído de este hilo en los foros de ESRI: selección de lotes por ubicación y exportación de archivos de forma
fuente
Mucho más fácil de usar el comando de intersección.
Desactiva los campos no deseados.
1. Intersecar a una nueva salida.
2. Unir la salida con el oid original.
3. Calcule un nuevo campo con el nombre de cnty.
Consulte ettools para ver algunas versiones mejoradas de unión espacial y división por ubicación.
fuente
Por lo que leí, simplemente ejecutaría una superposición (Herramientas de análisis de ArcToolbox - Superposición - e Identidad, Intersección o Unión espacial) de sus puntos con un conjunto de datos de polígonos del condado. En ArcMap, podría limitar los campos que se muestran en la capa del condado al campo con el nombre del condado, y solo ese campo se agregaría al resultado. Si incluso ese campo agregado es demasiado, calcule sus valores en el campo correspondiente en la tabla de puntos y luego elimine el campo agregado.
fuente
Usando Python puede hacer un bucle de "Seleccionar capa por ubicación" para tomar los puntos que se superponen a cada país y luego guardarlo como un Shapefile. Sería algo como esto:
No lo he probado, probablemente tengas que adaptarlo a tu caso.
Editar: Se modificó Select_analysis por CopyFeatures_management siguiendo el consejo de @ blah238.
fuente
Ahora hay un video tutorial de eLearning (no gratuito, pero relativamente barato) llamado Uso de cursores ArcPy para dividir por atributo y ubicación que incluye mostrar cómo:
Creo que aborda los requisitos de esta pregunta.
Descargo de responsabilidad : soy el autor y presentador de este video tutorial de eLearning
fuente