Создание индекса геолокации фотографий - сканирование в Интернете или использование существующего API?
Я разрабатываю службу геолокации, для которой требуется фотография для POI, и я пытаюсь понять, как правильно подобрать фотографию в определенном месте.
Я ищу изображение, которое даст обзор местоположения, а не какое-то произвольное изображение из заданной координаты.
например, при поиске "nyc" в Google вы получаете следующее изображение, отфильтрованное из http://www.filmsofcrawford.com/talesofnyctours/
![enter image description here]()
Конечно, Google - это Google, однако я нашел такой подход на других сайтах, например: https://roadtrippers.com/us/san-francisco-ca/attractions/conservatory-of-flowers?lat=37.81169&lng=-122.69478&z=11&a2=p!5
Q. Для индекса, такого как [POI NAME] -> [Overview image URL]
, каков будет ваш подход (обход, API и т.д.)?
Пожалуйста, добавьте свои мысли:)
Ответы
Ответ 1
Я бы предложил использовать существующий API. Совпадение изображений с местоположениями довольно сложно. С моей точки зрения API поиска изображений Google дает слишком много неулокальных результатов. Он построен таким образом, обрабатывая изображения на основе метатегов или воспитывая результаты, ранжированные по рейтингам SEO.
Если вы все еще планируете создать веб-искатель, посмотрите Scrapy, он с открытым исходным кодом, хорошо документированный и довольно стабильный.
Вы должны взглянуть на другие открытые API, предоставляющие запросы на основе местоположения. Ниже приведены некоторые примеры:
- FourSquare имеет отличный API, вы можете получить свои результаты, предоставляя
каждый город как конечная точка.
- Instagram использует API FourSquare для сопоставления изображений с помощью
location.It популярность должна быть рассмотрена.
- Flickr имеет хорошо обработанные результаты изображения. Вы также должны дать
попробуйте, поскольку вы можете индексировать изображения на основе какой лицензии вы ищете
для.
- Google Places предоставляет API тоже, я никогда не работал с этим
но я думал, что должен добавить его в свой список.
Ответ 2
Написание собственного искателя изображений было бы непростой задачей. Что произойдет, если ваши целевые сайты изменят свой формат, условия использования или снижают ссылки или вообще заменяют изображение? Отличный ответ на Quora относительно сложности веб-сканеров, и даже если вы упростите ситуацию, сужая источники до небольшого списка сайтов, вам нужно будет выяснить, как обрабатывать изображения, а не текст, и это может повлечь за собой необходимость сэкономить сотни изображений локально для обработки, что не будет интересно поддерживать.
Я бы настоятельно рекомендовал использовать API поиска изображений Google для тяжелой "технической подъема" для вас. Ваша задача - найти правильную комбинацию фильтров, которая принесет вам наилучшие результаты. Вот некоторые из них:
- Ключевые слова. Вы можете попытаться выполнить поиск по местоположению (координатам), но тогда вам придется полагаться на точность метаданных изображения. Вместо этого, как насчет вместо того, чтобы вместо этого определять местоположение координат и выполнять поиск на основе относительного местоположения? Например, вы можете обобщить (40.812694, -74.074177) как стадион Нью-йоркских гигантов, а не общий горизонт Нью-Йорка.
- Разрешение. Безопасно предполагать, что изображения с более высоким разрешением, скорее всего, будут обзорными снимками и взяты с профессиональным оборудованием. Вы также можете рассмотреть соотношение сторон: изображения выше, чем они, как правило, сосредоточены на одном объекте, представляющем интерес, в то время как изображения, более широкие, чем они, имеют тенденцию иметь больше разнообразия.
- Licensing. Поиск изображений Google способен фильтровать по лицензии и может обеспечить (по большей части), что вы можете повторно использовать найденные изображения.
Ответ 3
Конечно, для этого вам не нужно обходить веб-страницы. Вы можете использовать API из Google для поиска изображений и получения изображения. Взгляните на эту статью