Извлеките просто город / город из flickr api / YQL - PullRequest
1 голос
/ 25 октября 2011

Я пытаюсь написать сценарий, который возвращает просто деревню людей, город или город.Я использую следующий YQL-запрос, но результаты с консоли слишком конкретны, они сначала дают мне окрестности.

select * from flickr.places where lat=51.558418 and lon=-1.781985 and api_key=YOU_FLICKR_API_KEY

Вот результаты моего запроса с консоли.

<?xml version="1.0" encoding="UTF-8"?>
<query xmlns:yahoo="http://www.yahooapis.com/v1/base.rng"
    yahoo:count="1" yahoo:created="2011-10-25T09:35:50Z" yahoo:lang="en-US">
    <diagnostics>
        <publiclyCallable>true</publiclyCallable>
        <url execution-start-time="1" execution-stop-time="123" execution-time="122"><![CDATA[http://api.flickr.com/services/rest/?method=flickr.places.findByLatLon&lat=51.558418&lon=-1.781985]]></url>
        <user-time>124</user-time>
        <service-time>122</service-time>
        <build-version>22535</build-version>
    </diagnostics> 
    <results>
        <places accuracy="16" latitude="51.558418" longitude="-1.781985" total="1">
            <place latitude="51.547" longitude="-1.802"
                name="West Leaze, Swindon, England, GB, United Kingdom"
                place_id="sddCvK9SW703gg" place_type="neighbourhood"
                place_type_id="22"
                place_url="/United+Kingdom/England/Swindon/West+Leaze"
                timezone="Europe/London" woeid="39722"/>
        </places>
    </results>
</query>

Я хочу иметь возможность изменить place_type_id в запросе.Я знаю, что мог бы использовать регулярное выражение для изоляции информации, но я не уверен, сработает ли это для всех мест, поэтому я бы предпочел, чтобы API просто возвращал желаемый результат.

1 Ответ

2 голосов
/ 26 октября 2011

Метод flickr.places.findByLatLon Flickr, который вызывается в фоновом режиме вашим YQL-запросом, принимает ключ accuracy.

accuracy (необязательно)

Записанный уровень точности информации о местоположении.Мировой уровень 1, Страна ~ 3, Регион ~ 6, Город ~ 11, Улица ~ 16.Текущий диапазон составляет 1-16.Значение по умолчанию - 16.

См. » Flickr docs для flickr.places.FindByLatLon.

Использовать это так же просто, как предоставить accuracy =n в вашем предложении where.Значение около 10, похоже, соответствует точности, которую вы ищете, но экспериментируйте, чтобы увидеть, что лучше.

select * from flickr.places where 
lat=51.558418 and lon=-1.781985 and api_key=API_KEY_HERE
and accuracy=10

В стороне

Документацию по источникам данных / сервисам, используемым таблицами YQL, обычно можно получить, посмотрев описание таблицы.

desc flickr.places

Это дает много информации, обычно, по крайней мере, одну ссылку на страницы документации.См. meta раздел для documentationURL пунктов.

desc flickr.places

...