0

I'm new to ArcPy. I have coordinates of points

70°8'12.938"E  ,25°26'11.569"N 

79°10'33.945"E,  25°43'58.898"N 

80°25'46.695"E , 16°45'15.907"N 

70°6'57.527"E , 17°10'51.245"N

I tried below code:

>>> fc=r'D:\Arcpy Practise\arcpy.gdb\Points_UTM43N'
>>> file=open(r"D:\Arcpy Practise\xy.txt","r")
>>> read=file.readlines()
>>> with arcpy.da.InsertCursor(fc,["shape@"]) as cur:
...     for line in read:
...         x,y=line.split(",")
...         pt=arcpy.Point(x,y)
...         cur.insertRow(pt)

code shows RuntimeError: Point: Input value is not numeric

  • 3
    Please edit the question to show what you have tried, and where you are stuck. All coding questions should contain code. You should also give an indication of what you intend to do with these objects, since Point and PointGeometry are different objects – Vince Mar 12 at 11:35
  • 3
    Is there a reason you want to use arcpy instead of a tool like "Make XY Event layer"? As Vince said, if you want to use code, you'll need to provide the code you've attempted. – KHibma Mar 12 at 12:32
3

The error message you're getting is describing what the problem is. Your coordinates are strings, not numeric. They'll need to be converted to Decimal Degrees, instead of Degrees, Minutes, Seconds.

The documentation for arcpy.Point indicates that the x,y coordinates need to be doubles. For example, your first point will be 70.136927, 25.436547.

You can use the Convert Coordinate Notation tool to convert between DMS to DD.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.