1 votos

Desplazamiento de coordenadas de puntos tras el procesamiento de la caja de herramientas de python

Estoy trabajando en la agrupación personalizada en ArcMap. Para ello he creado una caja de herramientas en python, donde hago el procesamiento. Sin embargo, como resultado obtengo puntos ligeramente desplazados (6-20 metros), mientras que deben permanecer igual y sólo ser agrupados: Points example

    point = arcpy.Point()

    # Spatial reference definition
    desc = arcpy.Describe(nodes)
    spatial_ref = desc.spatialReference

    for key in clustering.keys():
        cluster = 'CMPMT_Cluster_' + str(key)
        out_cluster = os.path.join(output_dir, 'DataTest.gdb', cluster)
        if len(clustering[key].keys()) > 1:
            point_list = []
            for k in clustering[key].keys():
                if k != 'tot_cost':
                    point.X = clustering[key][k]['XY'][0]
                    point.Y = clustering[key][k]['XY'][1]
                    point_geometry = arcpy.PointGeometry(point)
                    point_list.append(point_geometry)

            arcpy.CopyFeatures_management(point_list, out_cluster)
            arcpy.DefineProjection_management(out_cluster, spatial_ref)

He comprobado las coordenadas que se pasan y están bien, también guardo otro archivo de puntos con la misma referencia espacial y está bien. ¿Cuál puede ser el problema?

UPD: como sugirió Vince en los comentarios, he examinado cómo paso la referencia espacial al objeto de geometría. Con el código actual actualizado funciona como es necesario:

point_geometry = arcpy.PointGeometry(point, spatial_ref)      
point_list.append(point_geometry)      
arcpy.CopyFeatures_management(point_list, out_cluster)

1voto

Monroecheeseman Puntos 825

Recomiendo suministrar la referencia espacial a la geometría createPoint.

punto_geometría = arcpy.PointGeometry(punto, spatial_ref).

Además, cree el out_cluster FC con la referencia espacial, y luego añádalo a esa clase de característica.

arcpy.CreateFeatureclass_management(os.path.join(output_dir, 'DataTest.gdb'), cluster, "Point", "", "", spatial_ref)

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