I can't quite figure out how to reconcile the difference in reported footage between the following two methods. e.g.
feature1.distanceTo(feature2) -> 1,810 feet
and using the point returned by .firstPoint for each of the features:
def get_dist(coord1: tuple, coord2: tuple):
sr = arcpy.SpatialReference(3418)
p1 = arcpy.PointGeometry(arcpy.Point(coord1[0], coord1[1]), sr)
p2 = arcpy.PointGeometry(arcpy.Point(coord2[0], coord1[1]), sr)
return round(p1.distanceTo(p2), 3) -> ~1,760 feet
method 1 agrees with the measure distance tool but the second is off ~60 feet. This looks like a projection issue and I'm guessing that even though I build the point geometries with the same spatial reference as the features, that the coordinates returned from .firstPoint (lacking a spatial reference) are wrong. I don't need to do it this way very often but sometimes coordinates are what I have on hand at a certain point in the code and so I'm just trying to "rebuild" the feature's location to then get the distance from.
How can I keep the position I received from the feature accurate for when I rebuild the geometry?