我正在编写ArcGIS函数,并且希望将变量和值作为参数传递(如果可能)。
这是我的代码:
from arcgis.gis import *
from arcgis.features import FeatureLayer
URL = 'http://url_to_arcgis_server'
# QUERY = HERE LIES THE PROBLEM
def get_features(url, query):
features = []
f = FeatureLayer(url = url)
f_set = f.query(where = '1=1', out_sr = '4326')
for f in f_set:
features.append(f.as_dict)
return features
get_features(URL, QUERY)
可以从this list个参数中选择查询。
是否可以将where = '1=1'
和out_sr = '4326'
传递给QUERY
?我尝试用引号(QUERY = "where = '1=1', out_sr = '4326'"
)封装,但这不起作用。
ArcGIS说查询基于SQL语句。
答案 0 :(得分:0)
QUERY = { 'where': '1=1', 'out_sr': '4326' }
...
f_set = f.query(**QUERY)
**
语法使字典的键/值对被拆分为函数调用的单独关键字参数。请注意,字典的语法有些不同-键名必须用引号引起来,而不是等号。