Передача переменных и значений в функцию (подстановочный знак?)

#python

#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)
  

где запрос может быть выбран из этого списка параметров.

Есть ли способ, которым я могу передать where = '1=1' и out_sr = '4326' в QUERY ? Я попытался заключить в кавычки ( QUERY = "where = '1=1', out_sr = '4326'" ), но это не сработало.

ArcGIS утверждает, что запросы основаны на операторах SQL.

Комментарии:

1. Вы можете «сделать «это» «или «то»» и это должно сработать, но здесь я предполагаю, что формат вашего ввода неверен, можете ли вы показать нам ошибку?

Ответ №1:

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

...

f_set = f.query(**QUERY)
  

** Синтаксис приводит к разделению пар ключ / значение словаря на отдельные параметры ключевого слова для вызова функции. Обратите внимание, что синтаксис словаря несколько отличается — имя ключа должно заключаться в кавычки, двоеточие вместо знака равенства.