Делаю сайт для путешественников и для ввода данных мне необходима трехуровневая (страна, область, город) база геотерминов на английском (чтобы все термины были на английском).
Первым делом нашла ссылки
1. http://www.maxmind.com/app/worldcities (но там проблема с областями, их не получится использовать) и
2. http://download.geonames.org/export/dump/ (тут в целом понравился файл cities1000.zip с 125846 городами) но не очень понято, где в файле брать регионы
3. http://geo.webnabor.com/?link=16 (но там по странам разрозненные файлы - не уверена, что осилю загрузку по одной стране, а также смущает, во многих городах области вообще не обозначены; например в одной только Индонезии оказалось 45146 таких "бесхозных" городов из 140968 в общей сложности) И попробовала я экспортировать размещенные там базы, последовав совету "http://www.drupal.ru/node/5146 - У меня вроде как получилось каким-то чудом) Скачал SQL базу, потом в phphmyadmin создал новую базу, залил туда, а затем экспорт в CSV сделал и уже через taxonomy_xml импортировал в словарь." И получила ошибку "MySQL Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1394311, 0, 1213426, 0, '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'http://ww' at line 1 (C:\xampp\htdocs\base\sxd\index.php:3167)"
4. http://worldcitiesdatabase.info/# (в целом подходит и подумываю ее купить ($9.99 - $14.99), но не уверена, что Друпал осилит 2 000 000 геотерминов)
5. http://www.geodatasource.com/cities.html (бесплатная без областей, а платные очень дорогие)
6. http://www.geobytes.com/freeservices.htm (понравилась даже несмотря на опасения, что база 2003 года может быть устаревшей, но способ ее конвертации в мою базу инструкции http://epicenter.geobytes.com/MySqlInstructions.htm ни к чему не привел)
7. http://citieslist.ru (русские города на русском, видимо, если ее использовать, придется переводить русский в транслит)
8. http://www.drupal.ru/node/23269 (эта база совсем не подходит поскольку она на русском целиком)
9. http://webguruz.ru/web-developer/cities-and-countries-db/ (1,5 миллиона городов; понравилась, сконвертировала ее, но она оказалась немного неадекватной - например на Бали 11 городов и среди них нет самого большого - Денпасара)
И вот в связи с этим у меня два вопроса:
1. Какую из этих баз более целесообразно использовать?
2. Какой размер базы выдержит Drupal7?
Заранее спасибо
Комментарии
субскрибе
+1
Я когда-то интересовался тем же вопросом, но не столь глобально. С большим интересом посмотрю, какие будут советы. И спасибо вам за подборку ссылок на базы.
Страны - понятно 190 в ООН и всего ~250.
Области - понятие бессмысленное(если это не Россия). У государств территориальное деление зачастую очень разное. От штатов, областей и регионов, до коммун, уездов, кибуц, повятов и т.д. + иерархия, которая зачастую меняется и по разному интерпретируется (поселение в коммуне за 5 лет может пару раз менять родителя).
Городов(и всего, где кто-то живёт как в городе) что-то около 2-3 мил.штук. Реально нужно максимум 10-20 тыс (даже для шареда это - ни о чём ).
Обдумайте задачу получше...
Как быть, если данные меняются (изменили название города)?
Какой город человеку вводить(если это профиль) если он живёт в 3-4 местах или переезжает раз в пол года?
Так ли нужна база всего мира? Вам реально нужны все индийские и китайские деревни (imho их >60% будет:) )?
Не упоминалось из баз:
- GeoNames
- NGA GEOnet Names Server
- TGN
Может лучше использовать сервисы google или yahoo?
Ну и платное: mysql world database, GlobixData
Для России - последняя версия КЛАДР-а. На нем завязана фискала и налоги, так что он обновляется оперативно
Мне как раз очень нужны области. Потому что турист, поехавший на Бали, например, будет искать информацию именно о Бали, а не об Индонезии в целом и не о крошечных городках, которые там в бешеном количестве. А Бали - это как раз регион.
Если данные меняются (что случается не так массово и часто) пользователь просто может написать об этом. И суппорт внесет изменения в словарь.
Насчет китайских и индийских деревень - вот они то как раз и нужны в первую очередь, потому что сайт в первую очередь рассчитан на самостоятельных туристов по региону юго-восточной азии.
Город вводить текущий. Тот в котором турист находится сейчас.
Сейчас попробую посмотреть сервисы, которые вы указали http://developer.yahoo.com/geo/geoplanet/guide/index.html и http://developer.yahoo.com/geo/geoplanet/guide/index.html, но мне надо чтобы терминами из словаря маркировались не только профайлы, но и блоги, и фотографии и видео на сайте. Не знаю, получится ли с этими сервисами так же.
geonames я упомянула аж вторым пунктом
я импортировал кладр, не знаю сколько там получилось терминов, 30-40 к наверно, таксономия сдохла, сайт был портального типа, довольно много модулей, на ит-патруль
Регионы + населённые пункты - уже под 200к выходит.
Спалю тему https://github.com/dansamara/real_raxonomy, пытливые умы поймут к чему я
Эх, жалко, что для Drupal 6. Я уже собралась перебираться на 7-ку.
не, столько точно не было, я ша чет сомневаться начал, то ли кладр,
то ли это была база с сайта почты россии
по КЛАДру так примерно и есть
Послежу за темой..
Принципиальной разницы нет, данный метод будет работать и в восьмом друпале
Я всё присматриваюсь к sypexgeo.net, но пока не было возможности посмотреть её в деле. Там с определением местонахождения по IP (отнюдь не всегда точно, но всё же).
Подпишусь.
Определение по IP конечно прекрасно. Но мое местонахождение по IP обычно определяют с ошибкой в 400 километров. И в данном случае Сайпекс Гео тоже промахнулся километров этак на 300.
Да, они не идеальны, конечно, потому что IP часто приписан к одному месту, а пользуются этим IP из другого. Я просто планирую использовать это так: определять местоположение пользователя по IP, но предлагать ему подправить его вручную, если определилось неправильно.
Тоже возникла задача нормальной геопривязки пользователей и контента. Стало понятно, что система должна иметь GUID для однозначной идентификации объектов.
Посмотрел на Geoplanet от Yahoo и Geonames (оба имеют GUID).
Geoplanet когда-то предоставлял дампы для скачивания. Теперь доступен только веб-сервис (да и дампы были сильно кастрированные - например, без координат). Сразу минус.
Geoplanet сделан на вид более качественно (более продуманный сайт, документация и т.д.), но по полноте информации существенно уступает другим источникам информации. Например, я не нашел в Geoplanet такие города, как Вышний Волочек, Гусь-Хрустальный - далеко не деревни. После такого промаха Geoplanet сразу вычеркнул - нафиг нужны его GUID если база объектов неполноценная ?
Итого остановился на Geonames. Правда вариант использования через API - неудачный, т.к. лимиты для бесплатных аккаунтов слишком низкие. Да и не хочется зависеть от стороннего сервиса.
Пишу модуль для локальной работы с базой Geonames. Вылезают проблемы с дублями и некорректными названиями.
На мой взгляд, при использовании грамотно построенной системы GUID таксономия не нужна вообще - нужно маппить GUID напрямую.
Хорошие статьи по теме:
http://www.cosmocode.de/en/blog/schoenborn/2010-01/24-free-geo-data-solu... (часть инфы устарела)
http://blog.newsplore.com/2011/03/23/a-comparison-of-places-apis
https://www.quora.com/What-are-the-pros-and-cons-of-each-Places-API
Подпишусь.