I'm trying to scrape some polygons from an ArcGIS webmap, and outside requests/ REST API don't work. I want to take the polygons I see in the webmap and turn them into a shapefile.
The webmap of polygons is here: https://mogov.maps.arcgis.com/apps/webappviewer/index.html?id=836f4943866540a3b01d83f8ff8d9d4f
The request is:
https://utility.arcgis.com/usrsvcs/servers/bcbd629c3be8490dbce4179a7ac46c6c/rest/services/DED/ARPAbroadbandgrantawards_prime/MapServer/0/query?f=json&returnGeometry=true&spatialRel=esriSpatialRelIntersects&geometry=%7B%22xmin%22%3A-10488383.273191104%2C%22ymin%22%3A4657155.259379331%2C%22xmax%22%3A-10449247.514709145%2C%22ymax%22%3A4696291.017861288%2C%22spatialReference%22%3A%7B%22wkid%22%3A102100%7D%7D&geometryType=esriGeometryEnvelope&inSR=102100&outFields=*&outSR=102100&quantizationParameters=%7B%22mode%22%3A%22view%22%2C%22originPosition%22%3A%22upperLeft%22%2C%22tolerance%22%3A76.43702828507467%2C%22extent%22%3A%7B%22xmin%22%3A-10600540.5497%2C%22ymin%22%3A4364518.704800002%2C%22xmax%22%3A-10014872.906%2C%22ymax%22%3A4951055.066200003%2C%22spatialReference%22%3A%7B%22wkid%22%3A102100%2C%22latestWkid%22%3A3857%2C%22xyTolerance%22%3A0.001%2C%22zTolerance%22%3A0.001%2C%22mTolerance%22%3A0.001%2C%22falseX%22%3A-20037700%2C%22falseY%22%3A-30241100%2C%22xyUnits%22%3A10000%2C%22falseZ%22%3A-100000%2C%22zUnits%22%3A10000%2C%22falseM%22%3A-100000%2C%22mUnits%22%3A10000%7D%7D%7D
The responses look like:
{
"displayFieldName": "Entity_Name",
"transform": {
"originPosition": "upperLeft",
"scale": [ 76.43702828507467, 76.43702828507467 ],
"translate": [ -10600540.5497,4951055.066200003 ]
},
"fieldAliases": {
"OBJECTID": "OBJECTID",
"Entity_Name": "Entity_Name",
"Project_Name": "Project_Name",
"Technology": "Type of Technology Deployed",
"Speed": "Proposed Connection Speed",
"SubmissionID": "SubmissionID",
"Connections": "Number of Connections",
"GlobalID": "GlobalID",
"created_user": "created_user",
"created_date": "created_date",
"last_edited_user": "last_edited_user",
"last_edited_date": "last_edited_date",
"Shape.STArea()": "Shape.STArea()",
"Shape.STLength()": "Shape.STLength()"
},
"geometryType": "esriGeometryPolygon",
"spatialReference": {
"wkid": 102100,
"latestWkid": 3857
},
"fields": [
{
"name": "OBJECTID",
"type": "esriFieldTypeOID",
"alias": "OBJECTID"
},
{
"name": "Entity_Name",
"type": "esriFieldTypeString",
"alias": "Entity_Name",
"length": 255
},
{
"name": "Project_Name",
"type": "esriFieldTypeString",
"alias": "Project_Name",
"length": 255
},
{
"name": "Technology",
"type": "esriFieldTypeString",
"alias": "Type of Technology Deployed",
"length": 255
},
{
"name": "Speed",
"type": "esriFieldTypeString",
"alias": "Proposed Connection Speed",
"length": 255
},
{
"name": "SubmissionID",
"type": "esriFieldTypeInteger",
"alias": "SubmissionID"
},
{
"name": "Connections",
"type": "esriFieldTypeSmallInteger",
"alias": "Number of Connections"
},
{
"name": "GlobalID",
"type": "esriFieldTypeGlobalID",
"alias": "GlobalID",
"length": 38
},
{
"name": "created_user",
"type": "esriFieldTypeString",
"alias": "created_user",
"length": 255
},
{
"name": "created_date",
"type": "esriFieldTypeDate",
"alias": "created_date",
"length": 8
},
{
"name": "last_edited_user",
"type": "esriFieldTypeString",
"alias": "last_edited_user",
"length": 255
},
{
"name": "last_edited_date",
"type": "esriFieldTypeDate",
"alias": "last_edited_date",
"length": 8
},
{
"name": "Shape.STArea()",
"type": "esriFieldTypeDouble",
"alias": "Shape.STArea()"
},
{
"name": "Shape.STLength()",
"type": "esriFieldTypeDouble",
"alias": "Shape.STLength()"
}
],
"features": [
{
"attributes": {
"OBJECTID": 55,
"Entity_Name": "Osage Valley Electric Cooperative Association",
"Project_Name": "Osage Valley FTTH Project B",
"Technology": "Fiber",
"Speed": "Greater than or equal to 100 Mbps / 100 Mbps ",
"SubmissionID": 32690937,
"Connections": 1055,
"GlobalID": "{D54B90A6-ABD7-4A37-B589-8F7302A37CC7}",
"created_user": null,
"created_date": null,
"last_edited_user": null,
"last_edited_date": null,
"Shape.STArea()": 162837519.2421875,
"Shape.STLength()": 145659.22475947847
},
"geometry": {
"rings": [
[[1031,3723],[7,2],[10,-2],[8,2],[13,0],[8,1],[8,7],[17,14],[4,7],[4,4],[16,4],[4,2],[-1,9],[-1,13],[20,0],[0,3],[2,37],[-28,-3],[0,6],[-14,-2],[-19,-1],[1,20],[-11,-2],[-33,-14],[-27,-1],[-10,-5],[-2,-3],[-1,-2],[-2,-3],[-4,-2],[-5,0],[-6,-1],[-5,0],[-6,-1],[-3,1],[1,-20],[-20,-1],[0,-28],[16,-26],[9,-13],[1,-21],[17,-1],[13,6],[14,9],[5,5]],
[[2503,4290],[17,6],[14,-1],[14,3],[12,8],[0,10],[-5,1],[-7,-2],[-3,0],[-1,0],[1,5],[9,4],[4,3],[5,15],[3,20],[2,11],[-8,-2],[-8,-2],[-2,-12],[-6,-13],[-7,-3],[-3,2],[-5,-1],[0,-4],[0,-3],[0,-5],[-1,-1],[-2,-1],[-5,2],[-5,5],[-4,-3],[-3,-4],[-2,-3],[-5,0],[-3,6],[2,7],[2,4],[4,5],[6,12],[0,10],[-8,8],[-11,1],[-10,-18],[3,-86],[2,5],[6,3],[8,8]],
[[1670,4254],[0,2],[-5,0],[-5,0],[-4,0],[0,5],[0,1],[1,0],[3,1],[1,0],[1,0],[1,1],[0,3],[-5,-1],[-10,-12],[-65,-9],[1,-25],[71,2],[2,1],[-1,27],[7,3],[7,1]],
[[1489,4217],[0,3],[-1,0],[-1,0],[0,-1],[0,-1],[0,-1],[2,0]],
[[1461,4217],[0,15],[-4,0],[0,-15],[4,0]],
[[1691,4197],[-1,0],[0,-1],[1,0],[0,1]],
[[1607,4184],[-2,0],[0,-1],[1,0],[1,0],[0,1]],
[[1767,4185],[0,1],[0,-1],[0,-1],[0,-1],[1,0],[-1,0],[1,0],[0,1],[0,1],[-1,0]],
[[1470,4182],[0,-1],[1,0],[0,1],[-1,0]],
[[1721,4144],[-1,0],[-1,0],[1,0],[1,0]],
[[1645,4115],[-1,0],[0,-1],[1,0],[0,1]],
[[1599,4106],[23,15],[-21,-1],[0,-7],[-2,0],[0,-7]],
[[1480,4103],[0,1],[-1,-1],[-1,0],[2,0]],
[[1525,4109],[-1,1],[-1,1],[-23,-1],[1,3],[-1,2],[-1,3],[-13,-1],[0,-18],[40,1],[0,7],[-1,0],[0,2]],
[[1775,4097],[-2,1],[-2,-1],[0,-6],[3,0],[2,0],[0,3],[-1,3]],
[[1549,4077],[0,1],[-22,-1],[1,-12],[21,12]],
[[1481,4059],[0,1],[-1,0],[0,-1],[1,0]],
[[1139,3854],[-1,62],[-68,-3],[2,-40],[41,1],[1,0],[1,-1],[1,-1],[1,-1],[0,-3],[1,-2],[1,-2],[3,-3],[3,-3],[2,-1],[5,-1],[7,-2]
]
}
}
]
}
Is there a way to piece this response back together into a shapefile or GeoJSON somehow?