Важность координатPython

Программы на Python
Ответить
Anonymous
 Важность координат

Сообщение Anonymous »

Все,
Следующий географический файл JSON содержит список кратких названий и координат стран. Я не уверен, какова цель этих координат.

Код: Выделить всё

    [
{
"name": "League of Arab States",
"countries": ["MR", "EH", "MA", "DZ", "TN", "LY", "EG",
"SO", "SD", "DJ", "KM",
"BH", "IQ", "JO", "KW", "LB", "OM", "PS", "QA", "SA", "SY", "AE", "YE",
"SOL"
],
"coordinates": "[[[-20, 40], [65, 50], [65, -20], [-20, -20], [-20, 40]]]"
},
{
"name": "North African Arab Countries",
"countries": ["MR", "EH", "MA", "DZ", "TN", "LY", "EG"],
"coordinates": "[[[-20, 40], [65, 50], [65, -20], [-20, -20], [-20, 40]]]"
},
{
"name": "East African Arab Countries",
"countries": ["SO", "SD", "DJ", "KM", "SOL"],
"coordinates": "[[[-20, 40], [65, 50], [65, -20], [-20, -20], [-20, 40]]]"
},
{
"name": "Middle East Arab Countries",
"countries": ["BH", "IQ", "JO", "KW", "LB", "OM", "PS", "QA", "SA", "SY", "AE", "YE"],
"coordinates": "[[[-20, 40], [65, 50], [65, -20], [-20, -20], [-20, 40]]]"
}
]
Следующий скрипт Python использует этот файл для создания файлов форм и рисунков https://github.com/jjk-code-otter/clima ... in/scripts /data_management/make_new_regions.py
Я процитировал часть кода, использующего эти координаты.

Код: Выделить всё

# Make the coordinates into a GeoDataFrame
clean_geoms = pd.DataFrame([["Polygon", coordinates]], columns=["field_geom_type", "field_coords"])
data = Polygon(eval(clean_geoms.field_coords.iloc[0])[0])
masks = gp.GeoDataFrame({'name': [area_name], 'geometry': [data]})

# Select the region of interest, copy it and mask off using coordinates
print(area_name)
region_shapes = region_shapes.loc[[area_name]]
region_clipped = copy.deepcopy(region_shapes)
region_clipped.geometry[area_name] = region_shapes.geometry[area_name].intersection(masks.geometry[0])
region_clipped['region'] = area_name
Эти координаты явно используются в следующей строке, где реализуется пересечение между этими координатами и областью. Я также обнаружил, что код работает, если я прокомментировал функцию .intersection(masks.geometry[0]).

Код: Выделить всё

     region_clipped.geometry[area_name] = region_shapes.geometry[area_name].intersection(masks.geometry[0])
Я создал рабочий пример, который можно загрузить по следующей ссылке https://app.box.com/s/xtmh5elp520wng3y75z8fwv1mk4qv8tw.
Спасибо

Подробнее здесь: https://stackoverflow.com/questions/793 ... oordinates
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»