Мне нужно написать функцию в Python, которая принимает список координат и систему координат (как код EPSG). Он должен вернуть True, если координаты действительны в системе координат, или False, если нет. Как я могу это сделать?
Моя идея состояла в том, чтобы получить минимальную и максимальную широту и долготу, создать связующий многоугольник и проверить, попадает ли точка внутрь. Проблема в том, что я не знаю, как получить минимальный и максимальный лат и долг из кода EPSG. Моя единственная идея - записать их вручную в функцию, что довольно бессмысленно.
Это правильный подход, или я переосмысливаю его, и есть более простой способ?
Пока у меня есть:
def valid_coordinates(EPSG):
print "Coordinate System : ", arcpy.SpatialReference(EPSG).name
array = arcpy.Array([
arcpy.Point(-180, -90),
arcpy.Point(180, -90),
arcpy.Point(-180, 90),
arcpy.Point(180, 90),
arcpy.Point(-180, -90),
])# build a polygon based on the array
polygon = arcpy.Polygon(array, EPSG)
point_1 = Point(-0.4, 30.3)
point_2 = Point(-1000,-5000)
print "Point 1: ", polygon.contains(point_1) #returns True which is correct
print "Point 2: ", polygon.contains(point_2) #returns False is correct
но это бессмысленно, поскольку функция должна взять любые координаты и любой EPSG