Más

Dibujar polígono con GUI

Dibujar polígono con GUI


Estoy buscando hacer una herramienta de adición de Python para ArcMap para dibujar un polígono. Finalmente, quiero que la herramienta también calcule el área y un montón de otras cosas, pero por ahora estaría feliz simplemente dibujando un polígono irregular haciendo clic con el mouse para cada vértice y haciendo doble clic para cerrar. ¿Alguien tiene una plantilla de cómo se vería eso ya que soy horrible codificando?

El código genérico producido por el asistente de adición da lo siguiente:

class ToolClass3 (objeto): "" "Implementación para prueba Addin_addin.tool (herramienta)" "" def __init __ (self): self.enabled = True self.shape = "NONE" # Puede establecerlo en "Line", "Circle" o "Rectángulo" para dibujar formas interactivas y activar los receptores de eventos onLine / Polygon / Circle. def onMouseDown (self, x, y, button, shift): pass def onMouseDownMap (self, x, y, button, shift): pass def onMouseUp (self, x, y, button, shift): pass def onMouseUpMap (self, x, y, button, shift): pass def onMouseMove (self, x, y, button, shift): pass def onMouseMoveMap (self, x, y, button, shift): pass def onDblClick (self): pass def onKeyDown ( self, keycode, shift): pass def onKeyUp (self, keycode, shift): pass def deactivate (self): pass def onCircle (self, circle_geometry): pass def onLine (self, line_geometry): pass def onRectangle (self, rectangle_geometry) ): pasar

Puedo pensar en dos cosas que se me ocurren. Si desea seguir con un complemento, puede utilizar elen líneay simplemente iterar a través de la geometría de línea que crea el usuario y pasar esos puntos a una matriz y convertirla en un polígono. Puede agregar segmentos y acabados haciendo doble clic.

O otra opción es crear una herramienta de secuencia de comandos. Con una herramienta de secuencia de comandos, tiene la opción de utilizar un FeatureSet como entrada. El usuario puede dibujar un polígono de forma interactiva de esa manera desde la interfaz de la herramienta.


Ver el vídeo: How to Draw Lines and Shapes With Canvas - Python Tkinter GUI Tutorial #68