@@ -15,7 +15,7 @@ class API(object):
15
15
_endpoint = "http://overpass-api.de/api/interpreter"
16
16
_debug = False
17
17
18
- _QUERY_TEMPLATE = "[out:{out}];{query}out body ;"
18
+ _QUERY_TEMPLATE = "[out:{out}];{query}out {verbosity} ;"
19
19
_GEOJSON_QUERY_TEMPLATE = "[out:json];{query}out body geom;"
20
20
21
21
def __init__ (self , * args , ** kwargs ):
@@ -35,11 +35,11 @@ def __init__(self, *args, **kwargs):
35
35
requests_log .setLevel (logging .DEBUG )
36
36
requests_log .propagate = True
37
37
38
- def Get (self , query , responseformat = "geojson" ):
38
+ def Get (self , query , responseformat = "geojson" , verbosity = "body" ):
39
39
"""Pass in an Overpass query in Overpass QL"""
40
40
41
41
# Construct full Overpass query
42
- full_query = self ._ConstructQLQuery (query , responseformat = responseformat )
42
+ full_query = self ._ConstructQLQuery (query , responseformat = responseformat , verbosity = verbosity )
43
43
44
44
# Get the response from Overpass
45
45
raw_response = self ._GetFromOverpass (full_query )
@@ -68,17 +68,17 @@ def Search(self, feature_type, regex=False):
68
68
"""Search for something."""
69
69
raise NotImplementedError ()
70
70
71
- def _ConstructQLQuery (self , userquery , responseformat ):
71
+ def _ConstructQLQuery (self , userquery , responseformat , verbosity ):
72
72
raw_query = str (userquery )
73
73
if not raw_query .endswith (";" ):
74
74
raw_query += ";"
75
75
76
76
if responseformat == "geojson" :
77
77
template = self ._GEOJSON_QUERY_TEMPLATE
78
- complete_query = template .format (query = raw_query )
78
+ complete_query = template .format (query = raw_query , verbosity = verbosity )
79
79
else :
80
80
template = self ._QUERY_TEMPLATE
81
- complete_query = template .format (query = raw_query , out = responseformat )
81
+ complete_query = template .format (query = raw_query , out = responseformat , verbosity = verbosity )
82
82
83
83
if self .debug :
84
84
print (complete_query )
0 commit comments