This is Dan Patterson's Geomatics blog. ObiDan is a nickname given to me by my former students. I will post ramblings about GIS and links that I find relevant to the student population and my former student-friends. Initially, I will focus on code samples that will be useful to students in the upcoming academic year.
Sunday, 2 June 2013
Create Polygon Demo in Python
Creates some geometric shapes using arcpy then calculates various properties for those shapes. Original thread and discussion link for those interested in other aspects.
'''
CreatePolyDemo.py
Demonstrates calculating various properties for polygons
'''
import arcpy
pnt = arcpy.Point()
triangle = [[0,0],[0,1],[1,0]]
square = [[0,0],[0,1],[1,1],[1,0]]
rectangle = [[0,0],[0,1],[2,1],[2,0]]
polygons = [triangle, square, rectangle]
labels = ["Triangle", "Square", "Rectangle"]
array = arcpy.Array()
polys = []
for i in range(len(polygons)):
a_poly = polygons[i]
print "\n", labels[i]," Coordinates: ", a_poly
for pair in a_poly:
pnt.X = pair[0]
pnt.Y = pair[1]
array.add(pnt)
print " X %20.16f Y %20.16f" % (pnt.X, pnt.Y)
array.add(array.getObject(0))
poly = arcpy.Polygon(array)
print "Polygon properties:"
print " area %20.16f\n length %s" % (poly.area, poly.length)
print " centroid %s\n true centroid %s " % (poly.centroid, poly.trueCentroid)
print " first point %s\n last point %s " % (poly.firstPoint, poly.lastPoint)
print " extent %s " % (poly.extent)
print " hull %s\n " % (poly.hullRectangle)
array.removeAll()
polys.append(poly)
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment