2016-03-31 32 views
1

OverPass API'sı ile, tek bir sorguda birkaç farklı sorgu yapmak ve sonuçları çıktıya göre ayrılmış halde tutmak istiyorum. Örneğin : XML çıktısındaTek bir istek içinde birden çok ayrılan istek var

node(<some bounding box>)[amenity~"cafe"]->.my_cafes; 
node(<some bounding box>)[amenity~"restaurant"]->.my_restaus; 
.my_cafes out; 
.my_restaus out; 

, bu takip etmek mümkün olduğu alt sorgu verilen bir sonuç (yani "my_cafes" veya "my_restaus") ile cevap veriyor? Bu, çok sayıda API çağrısı göndermekten kaçınabilir.

Örneğimde, çıkan sonuç düğümleri tag[k=amenity,v=cafe] gibi bir şeyle kolayca filtrelenebilir. Ama bu durum her zaman değil

cevap

1

Benzer bir soru zaten Github tartışıldı (iki farklı around: maddeleri ile Üstgeçit filtre iki benzer istekleri, düşünelim):

: biletten https://github.com/drolbr/Overpass-API/issues/236

kısa özeti Aşağıdaki geçici çözümü kullanın: her out; deyiminden sonra bir out count; koyun. Bu şekilde, her sorgu sonucunun nerede bittiğini ve kaç giriş içerdiğini öğrenebilirsiniz.

İlgili konular