4 votos

Utilizando onRectangle para la entrada del usuario en ArcMap/ESRI complemento

En un esfuerzo por agregar la entrada del usuario a mi proyecto, estoy desarrollando un complemento de Python de esri para generar rectángulos en mi mapa. Ahora estoy en el primer paso, simplemente explorando la funcionalidad del complemento.

Intenté crear una "herramienta" de complemento exactamente como el código de muestra de ESRI, pero el botón no funciona. Aparece en mi escritorio de ArcMap, pero cuando hago clic en él, no pasa nada.

Realmente quiero saber qué está sucediendo con onRectangle y cómo puedo hacer que acepte la entrada del usuario.

Este es el código de muestra que esencialmente robé de ESRI:

import arcpy
import pythonaddins

class fishnetsExample(object):
    def __init__(self):
        self.enabled = True
        self.cursor = 3
        self.shape = 'Rectangle'

    def onRectangle(self, rectangle_geometry):
        """Se produce cuando se dibuja el rectángulo y se suelta el botón del mouse.
        El rectángulo es un objeto de extensión."""
        extensión = rectangle_geometry
        # Crear una red de pesca con 10 filas y 10 columnas.
        if arcpy.Exists(r'in_memory\fishnet'):
            arcpy.Delete_management(r'in_memory\fishnet')
        fishnet = arcpy.CreateFishnet_management(r'in_memory\fishnet',
                            '%f %f' %(extensión.XMin, extensión.YMin),
                            '%f %f' %(extensión.XMin, extensión.YMax),
                            0, 0, 10, 10,
                            '%f %f' %(extensión.XMax, extensión.YMax),'NO_LABELS',
                            '%f %f %f %f' %(extensión.XMin, extensión.YMin, extensión.XMax, extensión.YMax), 'POLYGON')
        arcpy.RefreshActiveView()
        return fishnet

2voto

Paul Puntos 555

Parece estar configurado correctamente para mí en el extremo de Python. ¿Te aseguraste de configurarlo como una Herramienta y no como un Botón en el asistente? Una vez que hayas confirmado que está configurado correctamente, adelante y prueba a instalar el .esriaddin de nuevo.

En ArcMap, deberás hacer clic en el botón de la herramienta en la barra de herramientas, debería aparecer presionado, en ese momento podrás empezar a hacer clic y arrastrar en el mapa para seleccionar rectángulos de extensión. Abre la ventana de Python antes de usarlo para ver si se envían mensajes de error, y cualquier print en un manejador de eventos en un complemento de Python también se mostrará en la ventana de Python, por lo que puedes añadir prints en tu código para asegurarte de que se está activando y llamando.

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