将变量和值传递给函数(通配符?)

时间:2019-03-13 13:13:51

标签: python

我正在编写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语句。

1 个答案:

答案 0 :(得分:0)

QUERY = { 'where': '1=1', 'out_sr': '4326' }

...

f_set = f.query(**QUERY)

**语法使字典的键/值对被拆分为函数调用的单独关键字参数。请注意,字典的语法有些不同-键名必须用引号引起来,而不是等号。