Следующий GET дает результат, который вы можете просмотреть через Почтальон и / или geo json .io (ПРИМЕЧАНИЕ: вам нужны файлы cookie, которые вставляются внизу этого сообщения):
url_geojson = "https://services6.arcgis.com/GklOjOaok2jR6aKf/ArcGIS/rest/services/NM_OG_ROWs_Linear_031417/FeatureServer/0/query?f=geojson&where=1%3D1&returnGeometry=true&spatialRel=esriSpatialRelIntersects&outFields=*&orderByFields=FID%20ASC&outSR=102100&resultOffset=0&resultRecordCount=4000&cacheHint=true&quantizationParameters=%7B%22mode%22%3A%22edit%22%7D"
В следующем вызове GET другой вызов GIS API дает только ответ json с дополнительной информацией о преобразованиях, которые необходимо применить к геометрическим объектам, сгенерированным из вызова geo json:
url_json = "https://services6.arcgis.com/GklOjOaok2jR6aKf/ArcGIS/rest/services/NM_OG_ROWs_Linear_031417/FeatureServer/0/query?f=json&where=1%3D1&returnGeometry=true&spatialRel=esriSpatialRelIntersects&outFields=*&orderByFields=FID%20ASC&outSR=102100&resultOffset=0&resultRecordCount=4000&cacheHint=true&quantizationParameters=%7B%22mode%22%3A%22edit%22%7D"
Обратите внимание, что единственным отличием является параметр f
(json и geo json).
В выводе запроса json есть раздел со следующим выводом:
{
"objectIdFieldName": "FID",
"uniqueIdField": {
"name": "FID",
"isSystemMaintained": true
},
"globalIdFieldName": "",
"geometryProperties": {
"shapeLengthFieldName": "Shape__Length",
"units": "esriMeters"
},
"geometryType": "esriGeometryPolyline",
"spatialReference": {
"wkid": 102100,
"latestWkid": 3857
},
"transform": {
"originPosition": "upperLeft",
"scale": [
0.0001,
0.0001,
0,
0
],
"translate": [
-20037700,
-30241100,
0,
0
]
},...
Я предполагаю, что это параметры, которые мне нужно использовать для изменения выходных координат запроса geo json, которые (в качестве одного примера) это:
{
"type": "FeatureCollection",
"crs": {
"type": "name",
"properties": {
"name": "EPSG:3857"
}
},
"properties": {
"exceededTransferLimit": true
},
"features": [
{
"type": "Feature",
"id": 1,
"geometry": {
"type": "LineString",
"coordinates": [
[
-11533842.1198518,
3857288.84408179
],
[
-11534147.0371623,
3857067.64072161
]
]
},...
Мне удалось взять вывод geo json и назначить ему pandas фрейм данных и применить преобразование масштабирования с помощью следующей команды:
main_gdf_clean['geometry'] = GeoSeries.scale(main_gdf_clean['geometry'],
xfact=0.00001, yfact=0.00001,
origin=(0,0))
На этом этапе я потерял способы применения - как указано в списке выше в json вывод - т параметры перевода. Я попробовал следующую команду, и она выдает совершенно неверный результат для геометрических объектов:
GeoSeries.translate(main_gdf_clean['geometry'], xoff=-20037700.0, yoff=-30241100.0)
Исходя из того, что я здесь представил, может кто-то предложить способ правильного применения преобразования преобразования или go об этом процессе по-другому?
header = {'Cookie': 'ASP.NET_SessionId=umzghudgzvz22wpo3a0bgeoq; OCDUserPreference=AAEAAAD/////AQAAAAAAAAAMAgAAAEtFTU5SRC5PQ0QuUGVybWl0dGluZywgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwFAQAAACVOTUVNTlJELk9DRC5QZXJtaXR0aW5nLlVzZXJQcmVmZXJlbmNlCQAAAAhQYWdlU2l6ZRJXZWxsU29ydFBhcmFtZXRlcnMWRmFjaWxpdHlTb3J0UGFyYW1ldGVycxxGZWVBcHBsaWNhdGlvblNvcnRQYXJhbWV0ZXJzFkluY2lkZW50U29ydFBhcmFtZXRlcnMRUGl0U29ydFBhcmFtZXRlcnMSVGFua1NvcnRQYXJhbWV0ZXJzGkdlbmVyYXRlZEFwaVNvcnRQYXJhbWV0ZXJzFk9wZXJhdG9yU29ydFBhcmFtZXRlcnMABAQEBAQEBAQIKE5NRU1OUkQuT0NELlBlcm1pdHRpbmcuU29ydFBhcmFtZXRlckxpc3QCAAAAKE5NRU1OUkQuT0NELlBlcm1pdHRpbmcuU29ydFBhcmFtZXRlckxpc3QCAAAAKE5NRU1OUkQuT0NELlBlcm1pdHRpbmcuU29ydFBhcmFtZXRlckxpc3QCAAAAKE5NRU1OUkQuT0NELlBlcm1pdHRpbmcuU29ydFBhcmFtZXRlckxpc3QCAAAAKE5NRU1OUkQuT0NELlBlcm1pdHRpbmcuU29ydFBhcmFtZXRlckxpc3QCAAAAKE5NRU1OUkQuT0NELlBlcm1pdHRpbmcuU29ydFBhcmFtZXRlckxpc3QCAAAAKE5NRU1OUkQuT0NELlBlcm1pdHRpbmcuU29ydFBhcmFtZXRlckxpc3QCAAAAKE5NRU1OUkQuT0NELlBlcm1pdHRpbmcuU29ydFBhcmFtZXRlckxpc3QCAAAAAgAAAGQAAAAJAwAAAAkEAAAACQUAAAAJBgAAAAkHAAAACQgAAAAJCQAAAAkKAAAABQMAAAAoTk1FTU5SRC5PQ0QuUGVybWl0dGluZy5Tb3J0UGFyYW1ldGVyTGlzdAMAAAANTGlzdGAxK19pdGVtcwxMaXN0YDErX3NpemUPTGlzdGAxK192ZXJzaW9uBAAAJk5NRU1OUkQuT0NELlBlcm1pdHRpbmcuU29ydFBhcmFtZXRlcltdAgAAAAgIAgAAAAkLAAAAAgAAAAIAAAABBAAAAAMAAAAJDAAAAAIAAAACAAAAAQUAAAADAAAACQ0AAAABAAAAAQAAAAEGAAAAAwAAAAkOAAAAAgAAAAIAAAABBwAAAAMAAAAJDwAAAAIAAAACAAAAAQgAAAADAAAACRAAAAACAAAAAgAAAAEJAAAAAwAAAAkRAAAAAwAAAAMAAAABCgAAAAMAAAAJEgAAAAEAAAABAAAABwsAAAAAAQAAAAQAAAAEJE5NRU1OUkQuT0NELlBlcm1pdHRpbmcuU29ydFBhcmFtZXRlcgIAAAAJEwAAAAkUAAAADQIHDAAAAAABAAAABAAAAAQkTk1FTU5SRC5PQ0QuUGVybWl0dGluZy5Tb3J0UGFyYW1ldGVyAgAAAAkVAAAACRYAAAANAgcNAAAAAAEAAAAEAAAABCROTUVNTlJELk9DRC5QZXJtaXR0aW5nLlNvcnRQYXJhbWV0ZXICAAAACRcAAAANAwcOAAAAAAEAAAAEAAAABCROTUVNTlJELk9DRC5QZXJtaXR0aW5nLlNvcnRQYXJhbWV0ZXICAAAACRgAAAAJGQAAAA0CBw8AAAAAAQAAAAQAAAAEJE5NRU1OUkQuT0NELlBlcm1pdHRpbmcuU29ydFBhcmFtZXRlcgIAAAAJGgAAAAkbAAAADQIHEAAAAAABAAAABAAAAAQkTk1FTU5SRC5PQ0QuUGVybWl0dGluZy5Tb3J0UGFyYW1ldGVyAgAAAAkcAAAACR0AAAANAgcRAAAAAAEAAAAEAAAABCROTUVNTlJELk9DRC5QZXJtaXR0aW5nLlNvcnRQYXJhbWV0ZXICAAAACR4AAAAJHwAAAAkgAAAACgcSAAAAAAEAAAAEAAAABCROTUVNTlJELk9DRC5QZXJtaXR0aW5nLlNvcnRQYXJhbWV0ZXICAAAACSEAAAANAwwiAAAATVN5c3RlbS5XZWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhBRMAAAAkTk1FTU5SRC5PQ0QuUGVybWl0dGluZy5Tb3J0UGFyYW1ldGVyAwAAAAVfbmFtZQtfZXhwcmVzc2lvbgpfZGlyZWN0aW9uAQEEJ1N5c3RlbS5XZWIuVUkuV2ViQ29udHJvbHMuU29ydERpcmVjdGlvbiIAAAACAAAABiMAAAANV2VsbCBPcGVyYXRvcgYkAAAACm9ncmlkX25hbWUF2////ydTeXN0ZW0uV2ViLlVJLldlYkNvbnRyb2xzLlNvcnREaXJlY3Rpb24BAAAAB3ZhbHVlX18ACCIAAAAAAAAAARQAAAATAAAABiYAAAAJV2VsbCBOYW1lBicAAAAId2VsbG5hbWUB2P///9v///8AAAAAARUAAAATAAAABikAAAAFT2dyaWQGKgAAAAVvZ3JpZAHV////2////wAAAAABFgAAABMAAAAGLAAAAAtGYWNpbGl0eSBJZAYtAAAAAmlkAdL////b////AQAAAAEXAAAAEwAAAAYvAAAACkNyZWF0ZWQgT24GMAAAAAljcmVhdGVkT24Bz////9v///8AAAAAARgAAAATAAAACSkAAAAJKgAAAAHM////2////wAAAAABGQAAABMAAAAGNQAAAAtJbmNpZGVudCBJZAktAAAAAcn////b////AQAAAAEaAAAAEwAAAAkpAAAACSoAAAABxv///9v///8AAAAAARsAAAATAAAABjsAAAAGUGl0IElkBjwAAAAGcGl0X2lkAcP////b////AQAAAAEcAAAAEwAAAAkpAAAACSoAAAABwP///9v///8AAAAAAR0AAAATAAAABkEAAAAHVGFuayBJZAZCAAAAB3RhbmtfaWQBvf///9v///8BAAAAAR4AAAATAAAACSMAAAAJJAAAAAG6////2////wAAAAABHwAAABMAAAAJJgAAAAZIAAAADXByb3BlcnR5X25hbWUBt////9v///8AAAAAASAAAAATAAAABkoAAAALV2VsbCBOdW1iZXIGSwAAAAt3ZWxsX251bWJlcgG0////2////wAAAAABIQAAABMAAAAGTQAAAA1PcGVyYXRvciBOYW1lCSQAAAABsf///9v///8AAAAACw==',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36'
}