In [3]:
from arcgis.gis import GIS
from arcgis.mapping import WebMap, WebScene
from arcgis.widgets import FeatureSet, Layer, MapView
from arcgis.features import summarize_data, FeatureLayer, manage_data
from IPython.display import display
import pandas as pd
import json
import requests
'''
main fields:
------------
Client ID
- 3hEOA0ytHFO2XH3w
Client Secret:
- f3721c85ba2d4c919a792f6cf427ca8e
Temporary Token
- q4Drp_tg2sHmcDXdrmrepO7y1v69kfN03rP6vdr9Ie89Q2HEIZhg_O5TXoH3aixk44X_o9i9XMIWOP1ZHPe4XrsWesWOx0CY0SVWsiO-SdsrwuXnIJVv8nco3D6ZysVY72NBF4KEqe490ccLdOgf6Q..
Service Details:
----------------
Geocoding and Place Search
- https://utility.arcgis.com/usrsvcs/appservices/z2N0LuaQIPTYndoo/rest/services/World/GeocodeServer/findAddressCandidates
TODO
HANDLE UPDATE on feature layers
'''
from data.geographic import gisConn, gisUser, gisPass
gis = GIS(gisConn, gisUser, gisPass)
Out[3]:
In [6]:
def get_token():
params = {
'client_id': "3hEOA0ytHFO2XH3w",
'client_secret': "f3721c85ba2d4c919a792f6cf427ca8e",
'grant_type': "client_credentials"
}
request = requests.get('https://www.arcgis.com/sharing/oauth2/token',
params=params)
response = request.json()
token = response["access_token"]
return token
#token = get_token()
#token
In [13]:
def token(token, url):
'''
- https://utility.arcgis.com/usrsvcs/appservices/PaxuIDwgHm34KeUH/rest/services/World/GeoenrichmentServer/GeoEnrichment/enrich
'''
params = {
'f': 'json',
'token': token,
'studyAreas': '[{"geometry":{"x":-117.1956,"y":34.0572}}]'
}
url = 'https://utility.arcgis.com/usrsvcs/appservices/PaxuIDwgHm34KeUH/rest/services/World/GeoenrichmentServer/GeoEnrichment/enrich'
data = requests.post(url, params=params)
return data.json(), data
dataJson, data = token(get_token, 'https://utility.arcgis.com/usrsvcs/appservices/PaxuIDwgHm34KeUH/rest/services/World/GeoenrichmentServer/GeoEnrichment/enrich')
data
Out[13]:
In [21]:
def searchGis(gis, key = 'world'):
items = gis.content.search(key)
for item in items:
display(item)
def getFeatureLayers(item):
'''
stockTest = company performance
cityToCompanyTest = company to city comparison
'''
layers = item.layers
fset = layers[0].query()
# display(fset.df)
return fset
search_result = gis.content.search('city')
display(search_result)
item = search_result[1]
cityToCompany_fset = getFeatureLayers(item)
search_result = gis.content.search('stock')
display(search_result)
item = search_result[3]
companyStat_fset = getFeatureLayers(item)
In [ ]: