#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)
**
Синтаксис приводит к разделению пар ключ / значение словаря на отдельные параметры ключевого слова для вызова функции. Обратите внимание, что синтаксис словаря несколько отличается — имя ключа должно заключаться в кавычки, двоеточие вместо знака равенства.