[英]Input obtained variables to an Overpass API call in python
使用我從以下鏈接獲得的代碼: http : //python-overpy.readthedocs.org/en/latest/example.html我想輸入已經獲得的變量,而不是直接輸入它們,例如:
import overpy
api = overpy.Overpass()
result = api.query("node(min_lat,min_lon,max_lat,max_lon);out;")
len(result.nodes)
min_lat等變量的類型為float。 這是我得到的錯誤:
overpy.exception.OverpassBadRequest: Error: line 1: parse error: Unknown query clause
Error: line 1: parse error: ')' expected - 'min_lat' found.
Error: line 1: parse error: An empty query is not allowed
Error: line 1: parse error: Unknown type ";"
Error: line 1: parse error: An empty query is not allowed
非常感謝任何幫助,因為我對此感到很困惑,並且對所有這些都陌生,謝謝!
您實際上是在發送查詢node(min_lat,min_lon,max_lat,max_lon);out;
到Overpass API, min_lat
等不變。
要填充變量,可以使用字符串替換:
"node(%s, %s, %s, %s);out;" % ( min_lat, min_lon, max_lat, max_lon )
%s
將替換為您在方括號中提供的變量。
import overpy
api = overpy.Overpass()
min_lat = 50.745
min_lon = 7.17
max_lat = 50.75
max_lon = 7.18
query = "node(%s, %s, %s, %s);out;" % ( min_lat, min_lon, max_lat, max_lon )
result = api.query(query)
print query
print len(result.nodes)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.