Point (arcpy)
Zusammenfassung
The point object is used frequently with cursors. Point features return a single point object instead of an array of point objects. All other feature types—polygon, polyline, and multipoint—return an array of point objects or an array containing multiple arrays of point objects if the feature has multiple parts.
Diskussion
A Point is not a geometry class, but is commonly used to construct geometry. In the example below, a Point is used to create a PointGeometry object.
point = arcpy.Point(25282, 43770)
ptGeometry = arcpy.PointGeometry(point)
Syntax
Parameter | Erläuterung | Datentyp |
X |
The X coordinate of the point. (Der Standardwert ist 0.0) | Double |
Y |
The Y coordinate of the point. (Der Standardwert ist 0.0) | Double |
Z |
The Z coordinate of the point. (Der Standardwert ist None) | Double |
M |
The M value of the point. (Der Standardwert ist None) | Double |
ID |
The shape ID of the point. (Der Standardwert ist 0) | Integer |
Eigenschaften
Eigenschaft | Erläuterung | Datentyp |
ID (Lesen und schreiben) |
An integer used to uniquely identify the point. | Integer |
M (Lesen und schreiben) |
The measure value of the point. | Double |
X (Lesen und schreiben) |
The horizontal coordinate of the point. | Double |
Y (Lesen und schreiben) |
The vertical coordinate of the point. | Double |
Z (Lesen und schreiben) |
The elevation value of the point. | Double |
Methodenübersicht
Methode | Erläuterung |
clone (point_object) |
Clone the point object. |
contains (second_geometry) |
Gibt an, ob die Basisgeometrie die Vergleichsgeometrie enthält. contains ist das Gegenteil von within. Only True relationships are shown in this illustration. |
crosses (second_geometry) |
Gibt an, ob die beiden Geometrien sich in einer Geometrie mit einem geringeren Shape-Typ überschneiden. Zwei Polylinien kreuzen sich, wenn sie nur Punkte gemeinsam haben, von denen mindestens einer kein Endpunkt ist. Eine Polylinie und ein Polygon kreuzen sich, wenn sie im Inneren des Polygons eine Polylinie oder einen Punkt (für eine vertikale Linie) gemeinsam haben, die bzw. der nicht der gesamten Polylinie entspricht. Only True relationships are shown in this illustration. |
disjoint (second_geometry) |
Gibt an, ob die Basis- und die Vergleichsgeometrie keine gemeinsamen Punkte aufweisen. Zwei Geometrien überschneiden sich, wenn disjoint den Wert False zurückgibt. Only True relationships are shown in this illustration. |
equals (second_geometry) |
Indicates if the base and comparison geometries are of the same shape type and define the same set of points in the plane. This is a 2D comparison only; M and Z values are ignored. Only True relationships are shown in this illustration. |
overlaps (second_geometry) |
Gibt an, üb die Überschneidung der beiden Geometrien denselben Shape-Typ wie eine der Eingabegeometrien aufweist, aber keiner der Eingabegeometrien entspricht. Only True relationships are shown in this illustration. |
touches (second_geometry) |
Gibt an, ob sich die Grenzen der Geometrien überschneiden. Zwei Geometrien berühren sich, wenn die Schnittmenge der Geometrien nicht leer, die Schnittmengen der Innenbereiche jedoch leer ist. Ein Punkt berührt beispielsweise eine Polylinie nur, wenn der Punkt lagegleich mit einem der Endpunkte der Polylinie ist. Only True relationships are shown in this illustration. |
within (second_geometry) |
Gibt an, ob sich die Basisgeometrie innerhalb der Vergleichsgeometrie befindet. Der within-Operator stellt das Gegenteil von contains dar. Only True relationships are shown in this illustration. |
Methoden
Parameter | Erläuterung | Datentyp |
point_object |
A point object. | Point |
Parameter | Erläuterung | Datentyp |
second_geometry |
A second geometry. | Object |
Datentyp | Erläuterung |
Boolean |
Der boolesche Rückgabetyp True gibt an, dass diese Geometrie die zweite Geometrie enthält. |
Parameter | Erläuterung | Datentyp |
second_geometry |
A second geometry. | Object |
Datentyp | Erläuterung |
Boolean | Der boolesche Rückgabetyp "True" gibt an, dass sich die beiden Geometrien in einer Geometrie mit einem geringeren Shape-Typ schneiden. |
Parameter | Erläuterung | Datentyp |
second_geometry |
A second geometry. | Object |
Datentyp | Erläuterung |
Boolean | Der boolesche Rückgabetyp "True" gibt an, dass die beiden Geometrien keine gemeinsamen Punkte aufweisen. |
Parameter | Erläuterung | Datentyp |
second_geometry |
A second geometry. | Object |
Datentyp | Erläuterung |
Boolean |
A return Boolean value of True indicates that the two geometries are of the same shape type and define the same set of points in the plane. |
Parameter | Erläuterung | Datentyp |
second_geometry |
A second geometry. | Object |
Datentyp | Erläuterung |
Boolean | Der boolesche Rückgabetyp True gibt an, dass die Überschneidung der beiden Geometrien dieselbe Dimension wie eine der Eingabegeometrien aufweist. |
Parameter | Erläuterung | Datentyp |
second_geometry |
A second geometry. | Object |
Datentyp | Erläuterung |
Boolean | Der boolesche Rückgabetyp True gibt an, dass sich die Grenzen der Geometrien überschneiden. |
Parameter | Erläuterung | Datentyp |
second_geometry |
A second geometry. | Object |
Datentyp | Erläuterung |
Boolean | Der boolesche Rückgabetyp True gibt an, dass diese Geometrie in der zweiten Geometrie enthalten ist. |
Codebeispiel
Create Point object and display its properties.
import arcpy
# Create point object
point = arcpy.Point(2000, 2500)
# Print point properties
print("Point properties:")
print(" ID: {0}".format(point.ID))
print(" X: {0}".format(point.X))
print(" Y: {0}".format(point.Y))
Examine point objects in polygon array object, returned from geometry object.
import arcpy
# Create cursor to retrieve Hawaii shape
feature_class = "c:/data/Hawaii.shp"
cursor = arcpy.da.SearchCursor(feature_class, ["SHAPE@"])
for row in cursor:
# Get the geometry object from the shape field
print("Number of Hawaiian islands: {0}".format(row[0].partCount))
# GetPart returns an array of point objects for each part.
for island in row[0].getPart():
print("Vertices in island: {0}".format(island.count))
for point in island:
print("X: {0}, Y: {1})".format(point.X, point.Y))