FreeBase получить здания и геолокации - PullRequest
1 голос
/ 16 апреля 2011

Мне нужно получить все здания с функцией «церковь», которые находятся на расстоянии 100 км от указанной точки (широта, долгота).Я сделал так:

[{
"id":            null,
"name":          null,
"type":          "/architecture/building",
"building_function" : [{"name" : 'church'}],
"/location/location/geolocation" : {"latitude" : 45.1603653, "longitude" : 10.7976976}
"/location/location/area" : 100
}]​

но я всегда получаю пустой ответ

code: "/api/status/ok"
result: []
status: "200 OK"
transaction_id: "cache;cache03.p01.sjc1:8101;2011-04-16T12:32:45Z;0035"

Чего мне не хватает?Спасибо

Ответы [ 2 ]

0 голосов
/ 17 апреля 2011

Область не является расстоянием, и вам, вероятно, не нужно точное совпадение со значением «100». Вы просили вещи, которые находятся именно на этом длинном / латовом и имеют именно эту область.

Вы ищете церкви, которые находятся на расстоянии менее определенного расстояния, более определенного расстояния или точно заданного расстояния? Возможно, вы захотите взглянуть на Geosearch API http://api.freebase.com/api/service/geosearch?help (хотя это не долгосрочное решение, поскольку оно устарело)

0 голосов
/ 17 апреля 2011

Свойство / location / location / area используется для запроса местоположений, которые охватывают определенное количество области.Таким образом, ваш запрос ищет здания с центром (45.1603653, 10.7976976), которые занимают площадь в 100 км.Естественно, что нет подходящих результатов.

Поиск тем в радиусе 100 км от этих координат требует немного больше работы.Вам нужно будет использовать сервис Geosearch , который все еще находится в альфа-режиме.Следующий запрос должен дать вам результаты, которые вы ищете:

http://www.freebase.com/api/service/geosearch?location={%22type%22:%22Point%22,%22coordinates%22:[10.7976976,45.1603653]}&type=/architecture/building&within=100&indent=1

Получив этот список зданий, вы можете запросить MQL Read API , чтобы узнать, какие из нихцеркви похожи на это:

[{
  "id": null,
  "name": null,
  "type": "/architecture/building",
  "building_function" : [{"name" : 'church'}],
  "filter:id|=":[
    "/en/verona_arena",
    "/en/basilica_palladiana",
    "/en/teatro_olimpico",
    "/en/palazzo_del_te",
    "/en/villa_capra_la_rotonda",
    "/en/villa_badoer",
    "/en/san_petronio_basilica",
    "/en/palazzo_schifanoia",
    "/en/palazzo_chiericati",
    "/en/basilica_di_santandrea_di_mantova",
    "/en/basilica_of_san_domenico",
    "/en/castello_estense",
    "/en/palazzo_dei_diamanti",
    "/en/villa_verdi",
    "/en/cathedral_of_cremona",
    "/en/monte_berico",
    "/en/villa_pojana",
    "/en/san_sebastiano",
    "/en/cremona_baptistery",
    "/en/palazzo_della_pilotta"
  ]
}]​

В данный момент это только 2 совпадающих результата, поэтому вам, вероятно, потребуется отредактировать некоторые из этих тем, чтобы пометить их как церкви.

...