I would like to create a point shape with Z value in ArcMap, for that I was created a tool using python addin toolbar. The tool can get XY coordinates from mouse click on datafreme. Now I want to add Z value as manuel for this point. Can I add Z value from a window by created QWidget or other PyQt4 windows, after got the XY position on dataframe for my point shape. Is there any way to do this using python? Can you kindly give any advices?
My current code:
There is global z in my code, it is just a simple solution and I dont want to use it. You know it isn't useful way.
import arcpy import pythonaddins arcpy.env.overwriteOutput = True arcpy.env.addOutputsToMap = True arcpy.CheckExtension('3D') class Observation_Point(object): """Implementation for addin5_addin.tool (Tool)""" def __init__(self): self.enabled = True self.shape = "NONE" def onMouseDown(self, x, y, button, shift): pass def onMouseDownMap(self, x, y, button, shift): #choose XY on dataframe mxd = arcpy.mapping.MapDocument("current") dataframe = arcpy.mapping.ListDataFrames(mxd) global z z= 20 PointGeom = arcpy.PointGeometry(arcpy.Point(x,y,z), None, True, False) global A A = "C:\\Users\\Casper\\Desktop\\DENEMELER\\obs_point_fromAddin5.shp" arcpy.CopyFeatures_management(PointGeom, A) print "saved as a point.shp..." 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): pass