2015-05-17 2 views
1

Я пытаюсь найти геометрию здания с определенной долготы широты. Поэтому моя идея заключалась в использовании координированного запроса для получения всех областей, в которых lat, lng. Используя http://overpass.osm.rambler.ru/cgi/interpreter, я получаю все области, и я могу фильтровать, чтобы получить только узлы, которые являются зданиями.Поиск геометрии области с интерфейсом overpass API

Теперь у меня есть область, например:

{ id: '2542062474', 
    'addr:city': 'Nice', 
    amenity: 'place_of_worship', 
    building: 'yes', 
    denomination: 'protestant', 
    name: 'Église Protestante Unie de Nice Saint-Esprit', 
    religion: 'christian', 
    source: 'cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2011' } 

Я думал, что это было бы легко получить геометрию этой области, но я не могу найти способ сделать это? Я должен что-то упустить.

В http://overpass-turbo.eu, я вхожу в скрипт:

[out:json][timeout:25]; 
// gather results 
(
    // query part for: “area” 
    area(2542062474); 
); 
// print results 
out body; 
>; 
out skel qt; 

но результат не включает в себя геометрию. Как получить геометрию области?

Спасибо!

Вот мой сценарий, на данный момент: https://gist.github.com/ptbrowne/60d7338502de1d16ac46

ответ

2

Areas является внутренним типом данных Путепровода. Вы можете использовать pivot получить геометрию:

[out:json][timeout:25]; 
area(2542062474); 
way(pivot); 
out body; 
>; 
out skel qt; 
0

Наконец, то, что я сделал, чтобы читать немного больше на документ и выяснить, что, чтобы получить путь, связанный с области, мне нужно субстрат 2400000000 от области id.

Тогда я мог только запросить путь. Из области id 2542062474, я получаю 2400000000, я получаю 142062474.

[out:json][timeout:25]; 
way(142062474); 
out body; 
>; 
out skel qt; 

Это работает, но я думаю, что pivot ответ на @Alex Morega лучше, так как 2400000000 может измениться за один день. Я не знаю о производительности.