6 votos

Dividir polígonos mediante programación

He mirado a través de varias otras preguntas y sigo teniendo problemas. Tengo un conjunto de 103 polígonos que abarcan toda mi mapa. Cada uno de los polígonos se divide en 36 de igual tamaño de los polígonos. Ahora tengo que recorrer cada uno de los 36 plazas, y los divide en 100 cuadrados iguales. He tratado de ponerse en contacto con la persona de la que partió la primera 103, pero todos los esfuerzos han fracasado. Puede alguien me apunte en la dirección correcta?

Fishnet parece estar fuera de la cuestión, ya que abarca la totalidad de la clase de entidad, no los polígonos.

Supongo que voy a escribir una secuencia de comandos de python. Los punteros se agradece!

What I have to work with.  103 Townships each split into 36 sections.  I need to split the 36 sections each into 100 equal squares

28voto

texai Puntos 178

Creo que lo puedes hacer con algunos códigos. Echale un vistazo aquí para dividir polígonos con Split (análisis):

Partir de las características de entrada crea un subconjunto de varias clases de característica de salida.

split

Syntax
Split_analysis (in_features, split_features, split_field, out_workspace, {cluster_tolerance})

Ejemplos:

import arcpy
arcpy.env.workspace = "c:/data"
arcpy.Split_analysis("Habitat_Analysis.gdb/vegtype", "climate.shp", "Zone",
                     "C:/output/Output.gdb", "1 Meters")

Espero te ayuda a...

3voto

Kena Puntos 5046

arcpy.CreateFishnet_management es la función de Python

Voy a asumir que, basándose en la foto, que hay pequeñas irregularidades, donde el general de la cuadrícula se aparta de lo regular, y que la atención acerca de la topología.

Sería puedo simplemente encontrar el vértice de coordenadas de cada uno de los 3708 pequeña plaza polígonos, mediante un bucle de crear una 10x10 fishnet en esas coordenadas, y, a continuación, combinar junto con una secuencia de comandos de Python?

2voto

Arnshea Puntos 109

Fishnet sólo funcionará si sus parcelas están alineados. La división no va a ser útil teniendo en cuenta que - si he entendido correctamente - el resultado que se busca es, precisamente, la "división de funciones". Usted tendrá que escribir una secuencia de comandos de procesamiento de cada polígono por separado (para asegurar ploygons id de 1 a 36 en cada trama original). Aquí están algunos pasos:

  1. Establecer un bucle de procesamiento de 1 polígono en un tiempo (por ejemplo, mediante la Búsqueda de los Cursores + select ser atributo)
  2. Leer las coordenadas del polígono (4 esquinas) (para un ejemplo de secuencia de comandos ver http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?TopicName=Reading_geometries)
  3. Compruebe la orientación del polígono (orientado hacia el norte o girado)
  4. Calcular las medias de red, el uso de la LL y de la UL de las esquinas para no girar polígonos, Bajar y Bajar las coordenadas X para girar.
  5. Combinar el resultado medias de red para la realización de un único archivo

Espero que esta ayuda.

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