Комментарии 57
Буду очень благодарен, если кто-нибудь подскажет, где можно взять подобную базу данных. Нужен список городов Земли (штук 10000-50000) с координатами, высотой и часовым поясом.
0
напишите парсер с настройками. т.е. чтобы можно было бы указать диапазон.
я помогу выкачать.
Что то не увидел
в 5 раз :)
я помогу выкачать.
— часовой пояс
— используется ли летнее/декретное время
Что то не увидел
— ориентировочное количество жителей (обычно, сильно заниженное)
в 5 раз :)
+1
и правда, просто парсер самому писать не когда, а так присоединюсь к парсингу, я думаю если наберется человек 20 то проблема уже станет разрешимой.
0
хм... попробую написать парсер... недавно нечто подобное писалось... но тут конечно посложнее будет)
0
Сейчас пробую на свой сервер залить используя wget. Пока всё идет хорошо.
Если на сайте нет защиты от скачивания всего-всего, то к утру будет все населенные пункты России.
У меня же на сервере можно будет запустить парсер. Лишь бы скачалось...
Если на сайте нет защиты от скачивания всего-всего, то к утру будет все населенные пункты России.
У меня же на сервере можно будет запустить парсер. Лишь бы скачалось...
0
думаю скачается, кудаж оно денется )
0
Процесс пошел. 500 страниц закачались за 20 минут.
Надеюсь, сайт примет меня за ГуглБота :-)
Утром напишу о результатах.
Надеюсь, сайт примет меня за ГуглБота :-)
Утром напишу о результатах.
0
Тоже сразу захотелось скачать - подумал, что главное - "не спугнуть" :) Как докачаете страницы - выложите где-нибудь исходники? А потом уж совместными усилиями распарсим.
0
Больше половины населенных пунктов России закачалось. К вечеру будут готовы остальные. Дальше я захвачу весь мир :-)
По данных Гугла всего на сайте около 1.2 млн страниц.
По данных Гугла всего на сайте около 1.2 млн страниц.
+1
Часовой пояс есть на странице населенного пункта (а не в общей таблице):
Time zone (est) UTC+3(+4DT)
С количеством жителей что-то непонятное... В разных странах ошибки разные.
Time zone (est) UTC+3(+4DT)
С количеством жителей что-то непонятное... В разных странах ошибки разные.
0
Когда-то я качал данные для Америки и Европы (или только Германии, не помню). С каких-то других сайтов, но слово Gazetteer узнаю. Размеры огромные (ок. гигабайта), формат, мягко говоря, странный. Так ничего с этим и не сделал. Я к тому, что эти базы данных почти наверняка можно найти.
0
Давно ищу... Мне даже такие подробные не нужны. Самая большая проблема с часовым поясом. На данный момент у меня есть база координат 1300 городов по России (многие с численностью населения из недавней переписи, русские названия) и 4500 городов остального мира. Это всё собиралось из разных источников (парсилось). Готовую базу данных нигде не встречал.
0
нашел в перу замечательный город:
http://www.fallingrain.com/world/PE/8/Nahui.html
http://www.fallingrain.com/world/PE/8/Nahui.html
0
Странные карты на этом сайте координат. Впечатление, что они создавались на основе карты начала прошлого века. Просто деревни и города до 50х годов там отмечены хоть как-то, а после не отмечены даже водохранилища. Сужу на основе своего города, которому уже 50 лет.
0
Для моего родного города есть неточность. Точнее, там есть ещё один город с такими же данными, но название у него не Ижевск, а Ишевск.
0
Есть такое. Для моего города там штук 10 вариантов названия, но все они объединены по координате и файл описания один, как и для Ижевска (Izhevsk.html).
0
Берется база GeoIP от MaxMind
по ней можно узнать имя города\регион и координаты.
А далее есть википедия.
Я в данный момент обьдиняю эти две базы, плюс КЛАДР и гугл.
Получается гдето 4.2 крупных обьектов на територии россии( в зоне дейсвия КЛАДР) и 4059 вики статей..
Для большинсва обьектов есть история, часовой пояс, население, в том числе и по национальностям.. блин да что же я расказываю - это же ВИКИ!
Сейчас все еше идет сведение таблиц, через недельку будет финал.
Будет актуально - выложу
по ней можно узнать имя города\регион и координаты.
А далее есть википедия.
Я в данный момент обьдиняю эти две базы, плюс КЛАДР и гугл.
Получается гдето 4.2 крупных обьектов на територии россии( в зоне дейсвия КЛАДР) и 4059 вики статей..
Для большинсва обьектов есть история, часовой пояс, население, в том числе и по национальностям.. блин да что же я расказываю - это же ВИКИ!
Сейчас все еше идет сведение таблиц, через недельку будет финал.
Будет актуально - выложу
0
Еще есть алфавитный указатель наименований географических объектов и таблица численность и размещение населения на сайте переписи 2002 года. Таблица есть в виде excel-документа.
MaxMind для России я бы не стал использовать... Неизвестно, откуда они это всё насобирали. По их данным город Нижний Новгород называется Novgorod и находится где-то рядом с Владивостоком.
Ваш БД очень интересна. Какая информация туда в итоге буедт входить? Будут ли названия на русском/английском?
MaxMind для России я бы не стал использовать... Неизвестно, откуда они это всё насобирали. По их данным город Нижний Новгород называется Novgorod и находится где-то рядом с Владивостоком.
Ваш БД очень интересна. Какая информация туда в итоге буедт входить? Будут ли названия на русском/английском?
0
Базу я собирал для проекта типа МирТесен.
Все на русском языке.
Названия МаксМинда уточнялись через КЛАДР, координаты через гугль-геокодинг.
(если точнее - плясало все от КЛАДРа)
Проблема в том что великого города Рыбинкс( там проживает отписавшийся тут Vass) в гугле НЕТ.
В Максе есть его координаты. В кладре - название.
Как информация будет входить...ммм
Иеархия адресов до улиц, вики инфо, координаты. Названия на русском, но только Россия
Все на русском языке.
Названия МаксМинда уточнялись через КЛАДР, координаты через гугль-геокодинг.
(если точнее - плясало все от КЛАДРа)
Проблема в том что великого города Рыбинкс( там проживает отписавшийся тут Vass) в гугле НЕТ.
В Максе есть его координаты. В кладре - название.
Как информация будет входить...ммм
Иеархия адресов до улиц, вики инфо, координаты. Названия на русском, но только Россия
0
да, было бы отлично!
0
а откуда, если не секрет, вы брали данные по прогнозам?
0
А кто-нибудь собирается скачивать оттуда весь мир? ;) А то я подумываю этим заняться.
0
Через пару часов у меня закончится загрузка российских населенных пунктов. Смогу выложить архив. Поставлю на загрузку всё остальное.
Просьба ко всем заинтересованным лицам:
Пока ничего не мешает мне продолжать качать страницы сайта. Озадачтесь, пожалуйста, парсером. Структуру парсить не нужно, т.к. она получается довольно логичная:
/world/{код_страны}/{номер_региона}/{название_населенного_пункта}.html
Просьба ко всем заинтересованным лицам:
Пока ничего не мешает мне продолжать качать страницы сайта. Озадачтесь, пожалуйста, парсером. Структуру парсить не нужно, т.к. она получается довольно логичная:
/world/{код_страны}/{номер_региона}/{название_населенного_пункта}.html
0
Сейчас занят проектами, в конце этой недели, начале следующей могу написать парсер, если до этого времени он еще будет нужен обращайтесь.
0
Отлично, давайте организуемся. Предлагаю такой принцип: выкачиваем страницы как есть (без картинок) и сохраняем их в сыром виде. Потом сливаем и распарсиваем.
Я сделал список стран, которые надо выкачать, прямо в виде команд wget. Размещен тут: http://www.plaxo.ru/fallingrain (plaxo тут не при чем - просто первое что подвернулось). Давайте там организовываться.
С такой формой выкачивания все согласны?
Я сделал список стран, которые надо выкачать, прямо в виде команд wget. Размещен тут: http://www.plaxo.ru/fallingrain (plaxo тут не при чем - просто первое что подвернулось). Давайте там организовываться.
С такой формой выкачивания все согласны?
0
Как вам данные http://www.geonames.org?
Я докачаю RS и буду разбираться с geonames. А дальше посмотрим.
Я докачаю RS и буду разбираться с geonames. А дальше посмотрим.
0
+3
Хабрахабр великий ресурс! Больше года я искал эту информацию. И вот! :)
0
так насколько эта база лучше хуже чем та, которую надо скачивать и парсить?
у меня древнерусская привычка иметь самое большое и лучшее :)
у меня древнерусская привычка иметь самое большое и лучшее :)
0
Люди!
есть уже готовая база, с координатами и почти актуальным населением даже
http://www.world-gazetteer.com/wg.php?x=…
Примечание по координатам: напирмер в гугл-мапс цифры вида 5079 надо преобразовывать в 50.79, то есть последние две всегда после запятой
есть уже готовая база, с координатами и почти актуальным населением даже
http://www.world-gazetteer.com/wg.php?x=…
Примечание по координатам: напирмер в гугл-мапс цифры вида 5079 надо преобразовывать в 50.79, то есть последние две всегда после запятой
0
ох! Как раз искал именно это! А какая в итоге самая полная база с русскоязычными названиями?
0
Если нужна совсем полная и хорошая база с русскоязычными названиями, то придется объединять несколько баз. В базе geonames названия на нескольких языках указаны для небольшого количества объектов. Но никто не мешает приделать к ней русские/олбанские/кетайские названия по координатам...
0
а откуда взять эти названия? :-/
0
Имеется в наличии вот эта база:
http://www.geodatasource.com/cities-gold.html
Именно ГОЛД ЭДИШН
GeoDataSource™ Cities Database Gold Edition
Рар-Архив 57 метров (экстракт 400 метров)
http://www.geodatasource.com/cities-gold.html
Именно ГОЛД ЭДИШН
GeoDataSource™ Cities Database Gold Edition
Рар-Архив 57 метров (экстракт 400 метров)
0
можешь куда-нибудь закачать? интересно на нее взглянуть ;)
0
На сайте дают скачать небольшой образец.
0
Залил сюда: http://ifolder.ru/5294563
GeoDataSource™ Cities Database Gold Edition (та которая стоит на сайте $1000+)
Сразу предупреждаю: база краденная и соответственно пиратская ну и т.д. и т.п.
GeoDataSource™ Cities Database Gold Edition (та которая стоит на сайте $1000+)
Сразу предупреждаю: база краденная и соответственно пиратская ну и т.д. и т.п.
+1
Хорошая штука, но база от geonames.org лучше в некоторых мелочах. Например, у geonames есть информация о переходе на летнее время. И русскоязычных названий гораздо больше. Есть корректная информация о численности населения. Суммарный объем данных 750 Мб.
0
Большое спасибо! Давно искала что-нибудь такое.
0
кстати просто большой список (без координат) есть тут http://speakrus.ru/dict/kladrw.zip
0
Да, списки хорошие, но, к сожалению? в них используется какая-то мутная нестандартная транслитерация и неизвестно вообще есть ли в ней твёрдое правило. Так что под сомнением то, можно ли это использовать в публичном проекте.
Я-то было уже транслитератор сделал, который по госту работает, а тут такая лажа. Кто-нибудь продвинулся в этом вопросе?
$from = array('/shh/', '/Shh/', '/jo/', '/zh/', '/jj/', '/kh/', '/ch/', '/sh/', '/eh/', '/yu/', '/ya/', '/Jo/', '/Zh/', '/Jj/', '/Kh/', '/Ch/', '/Sh/', '/Eh/', '/Yu/', '/Ya/', '/a/', '/b/', '/v/', '/g/', '/d/', '/e/', '/z/', '/i/', '/k/', '/l/', '/m/', '/n/', '/o/', '/p/', '/r/', '/s/', '/t/', '/u/', '/f/', '/c/', '/"/', '/y/', "/'/", '/A/', '/B/', '/V/', '/G/', '/D/', '/E/', '/Z/', '/I/', '/K/', '/L/', '/M/', '/N/', '/O/', '/P/', '/R/', '/S/', '/T/', '/U/', '/F/', '/C/', '/Y/');
$to = array('щ', 'Щ', 'ё', 'ж', 'й', 'х', 'ч', 'ш', 'э', 'ю', 'я', 'Ё', 'Ж', 'Й', 'Х', 'Ч', 'Ш', 'Э', 'Ю', 'Я', 'а', 'б', 'в', 'г', 'д', 'е', 'з', 'и', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'ц', 'ъ', 'ы', 'ь', 'А', 'Б', 'В', 'Г', 'Д', 'Е', 'З', 'И', 'К', 'Л', 'М', 'Н', 'О', 'П', 'Р', 'С', 'Т', 'У', 'Ф', 'Ц', 'Ы');
$text = 'Varim shhi';
ksort($from);
ksort($to);
$text = preg_replace($from, $to, $text);
echo $text;
Я-то было уже транслитератор сделал, который по госту работает, а тут такая лажа. Кто-нибудь продвинулся в этом вопросе?
$from = array('/shh/', '/Shh/', '/jo/', '/zh/', '/jj/', '/kh/', '/ch/', '/sh/', '/eh/', '/yu/', '/ya/', '/Jo/', '/Zh/', '/Jj/', '/Kh/', '/Ch/', '/Sh/', '/Eh/', '/Yu/', '/Ya/', '/a/', '/b/', '/v/', '/g/', '/d/', '/e/', '/z/', '/i/', '/k/', '/l/', '/m/', '/n/', '/o/', '/p/', '/r/', '/s/', '/t/', '/u/', '/f/', '/c/', '/"/', '/y/', "/'/", '/A/', '/B/', '/V/', '/G/', '/D/', '/E/', '/Z/', '/I/', '/K/', '/L/', '/M/', '/N/', '/O/', '/P/', '/R/', '/S/', '/T/', '/U/', '/F/', '/C/', '/Y/');
$to = array('щ', 'Щ', 'ё', 'ж', 'й', 'х', 'ч', 'ш', 'э', 'ю', 'я', 'Ё', 'Ж', 'Й', 'Х', 'Ч', 'Ш', 'Э', 'Ю', 'Я', 'а', 'б', 'в', 'г', 'д', 'е', 'з', 'и', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'ц', 'ъ', 'ы', 'ь', 'А', 'Б', 'В', 'Г', 'Д', 'Е', 'З', 'И', 'К', 'Л', 'М', 'Н', 'О', 'П', 'Р', 'С', 'Т', 'У', 'Ф', 'Ц', 'Ы');
$text = 'Varim shhi';
ksort($from);
ksort($to);
$text = preg_replace($from, $to, $text);
echo $text;
0
Вот так выходит:
$lenName = strlen($arrRows[1]);
$trans0 = array (
"-Moscow" => "-Московский",
"Moscow" => "Москва",
"Queen Victoria Sea" => "Море Королевы Виктории",
"Africa" => "Африка",
"Vulcan" => "Вулкан",
"Blecna" => "Блесна",
"Волга-" => "Волго-",
"-Baltic" => "-Балтийский",
"Pokhicstnevskiy Rayon" => "Похвистневский район",
"Il’icehvka" => "Ильечевка",
"Fuyuansanjiao Zhou" => "Большой Уссурийский"
);
$trans1 = array (
"Shch" => "Щ",
"shch" => "щ",
"Yaye" => "Яе",
"yaye" => "яе",
"Yuye" => "Юе",
"yuye" => "юе",
"Yoye" => "Йое",
"yoye" => "йое",
"nnyy" => "нный",
"skyy" => "ский",
"chnyy" => "чный",
"lyy" => "лый",
"vyy" => "вый" );
$trans2 = array (
"que" => "к",
"Eye" => "Ее",
"eye" => "ее",
"Iye" => "Ие",
"iye" => "ие",
"iya" => "ия",
"Oye" => "Ое",
"oye" => "ое",
"Uye" => "Уе",
"uye" => "уе",
"Aye" => "Ае",
"aye" => "ае",
"yye" => "ые",
"yya" => "ия",
'"ye' => 'ъе',
"”ye" => "ъе",
'"ya' => 'ъя',
"”ya" => "ъя",
"''ye" => 'ъе',
"''ye" => "ъе",
"''ya" => 'ъя',
"''ya" => "ъя",
'’ye' => 'ье',
"'ye" => "ье",
'’ya' => 'ья',
"'ya" => "ья" );
$trans3 = array (
"ck" => "х",
"ca" => "ца",
"Cz" => "Ч",
"Ch" => "Ч",
"ch" => "ч",
"jh" => "ж",
"ji" => "жи",
"Kh" => "Х",
"kh" => "х",
"Oy" => "Ой",
"oy" => "ой",
"Qu" => "Ку",
"Ts" => "Ц",
"ts" => "ц",
"Sh" => "Ш",
"sh" => "ш",
"Zh" => "Ж",
"zh" => "ж",
"Yu" => "Ю",
"yu" => "ю",
"Ya" => "Я",
"ya" => "я",
"Yo" => "Йо",
"Jo" => "Йо",
"yo" => "йо",
"Ye" => "Е",
"yy" => "ий",
"iy" => "ий",
"Je" => "Е",
"je" => "е",
"Ja" => "Я",
"ja" => "я",
"ia" => "ия",
"''" => "ъ",
);
$trans4 = array (
"a" => "а",
"b" => "б",
//"c" => "ч",
"d" => "д",
"e" => "е",
"f" => "ф",
"g" => "г",
"h" => "х",
"i" => "и",
"j" => "й",
"k" => "к",
"l" => "л",
"m" => "м",
"n" => "н",
"o" => "о",
"p" => "п",
"r" => "р",
"s" => "с",
"t" => "т",
"u" => "у",
"v" => "в",
"w" => "в",
"x" => "кс",
"y" => "ы",
"z" => "з",
"A" => "А",
"B" => "Б",
"D" => "Д",
"E" => "Е",
"F" => "Ф",
"G" => "Г",
"H" => "Х",
"I" => "И",
"K" => "К",
"L" => "Л",
"M" => "М",
"N" => "Н",
"O" => "О",
"P" => "П",
"R" => "Р",
"S" => "С",
"T" => "Т",
"U" => "У",
"V" => "В",
"W" => "В",
"Y" => "Ы",
"Z" => "З",
'"' => 'ъ',
"”" => "ъ",
"’" => "ь",
"'" => "ь" );
$trans5 = array (
"рний" => "рный",
"яний" => "яный",
"сний" => "сный",
"одний" => "одный",
"ведний" => "ведный",
"ений" => "еный",
"ёний" => "ёный",
"емний" => "емный",
"ёмний" => "ёмный",
"брий" => "брый",
"Старий" => "Старый",
"старий" => "старый",
"стий" => "стый",
"ежний" => "ежный",
"ёжний" => "ёжный",
"ольний" => "ольный",
"ельний" => "ельный" );
for($i=0; $i<$lenName; $i++) {
$arrRows[1] = strtr($arrRows[1], $trans0); }
for($i=0; $i<$lenName; $i++) {
$arrRows[1] = strtr($arrRows[1], $trans1); }
for($i=0; $i<$lenName; $i++) {
$arrRows[1] = strtr($arrRows[1], $trans2); }
for($i=0; $i<$lenName; $i++) {
$arrRows[1] = strtr($arrRows[1], $trans3); }
for($i=0; $i<$lenName; $i++) {
$arrRows[1] = strtr($arrRows[1], $trans4); }
for($i=0; $i<$lenName; $i++) {
$arrRows[1] = strtr($arrRows[1], $trans5); }
$ruName = $arrRows[1];
$lenName = strlen($arrRows[1]);
$trans0 = array (
"-Moscow" => "-Московский",
"Moscow" => "Москва",
"Queen Victoria Sea" => "Море Королевы Виктории",
"Africa" => "Африка",
"Vulcan" => "Вулкан",
"Blecna" => "Блесна",
"Волга-" => "Волго-",
"-Baltic" => "-Балтийский",
"Pokhicstnevskiy Rayon" => "Похвистневский район",
"Il’icehvka" => "Ильечевка",
"Fuyuansanjiao Zhou" => "Большой Уссурийский"
);
$trans1 = array (
"Shch" => "Щ",
"shch" => "щ",
"Yaye" => "Яе",
"yaye" => "яе",
"Yuye" => "Юе",
"yuye" => "юе",
"Yoye" => "Йое",
"yoye" => "йое",
"nnyy" => "нный",
"skyy" => "ский",
"chnyy" => "чный",
"lyy" => "лый",
"vyy" => "вый" );
$trans2 = array (
"que" => "к",
"Eye" => "Ее",
"eye" => "ее",
"Iye" => "Ие",
"iye" => "ие",
"iya" => "ия",
"Oye" => "Ое",
"oye" => "ое",
"Uye" => "Уе",
"uye" => "уе",
"Aye" => "Ае",
"aye" => "ае",
"yye" => "ые",
"yya" => "ия",
'"ye' => 'ъе',
"”ye" => "ъе",
'"ya' => 'ъя',
"”ya" => "ъя",
"''ye" => 'ъе',
"''ye" => "ъе",
"''ya" => 'ъя',
"''ya" => "ъя",
'’ye' => 'ье',
"'ye" => "ье",
'’ya' => 'ья',
"'ya" => "ья" );
$trans3 = array (
"ck" => "х",
"ca" => "ца",
"Cz" => "Ч",
"Ch" => "Ч",
"ch" => "ч",
"jh" => "ж",
"ji" => "жи",
"Kh" => "Х",
"kh" => "х",
"Oy" => "Ой",
"oy" => "ой",
"Qu" => "Ку",
"Ts" => "Ц",
"ts" => "ц",
"Sh" => "Ш",
"sh" => "ш",
"Zh" => "Ж",
"zh" => "ж",
"Yu" => "Ю",
"yu" => "ю",
"Ya" => "Я",
"ya" => "я",
"Yo" => "Йо",
"Jo" => "Йо",
"yo" => "йо",
"Ye" => "Е",
"yy" => "ий",
"iy" => "ий",
"Je" => "Е",
"je" => "е",
"Ja" => "Я",
"ja" => "я",
"ia" => "ия",
"''" => "ъ",
);
$trans4 = array (
"a" => "а",
"b" => "б",
//"c" => "ч",
"d" => "д",
"e" => "е",
"f" => "ф",
"g" => "г",
"h" => "х",
"i" => "и",
"j" => "й",
"k" => "к",
"l" => "л",
"m" => "м",
"n" => "н",
"o" => "о",
"p" => "п",
"r" => "р",
"s" => "с",
"t" => "т",
"u" => "у",
"v" => "в",
"w" => "в",
"x" => "кс",
"y" => "ы",
"z" => "з",
"A" => "А",
"B" => "Б",
"D" => "Д",
"E" => "Е",
"F" => "Ф",
"G" => "Г",
"H" => "Х",
"I" => "И",
"K" => "К",
"L" => "Л",
"M" => "М",
"N" => "Н",
"O" => "О",
"P" => "П",
"R" => "Р",
"S" => "С",
"T" => "Т",
"U" => "У",
"V" => "В",
"W" => "В",
"Y" => "Ы",
"Z" => "З",
'"' => 'ъ',
"”" => "ъ",
"’" => "ь",
"'" => "ь" );
$trans5 = array (
"рний" => "рный",
"яний" => "яный",
"сний" => "сный",
"одний" => "одный",
"ведний" => "ведный",
"ений" => "еный",
"ёний" => "ёный",
"емний" => "емный",
"ёмний" => "ёмный",
"брий" => "брый",
"Старий" => "Старый",
"старий" => "старый",
"стий" => "стый",
"ежний" => "ежный",
"ёжний" => "ёжный",
"ольний" => "ольный",
"ельний" => "ельный" );
for($i=0; $i<$lenName; $i++) {
$arrRows[1] = strtr($arrRows[1], $trans0); }
for($i=0; $i<$lenName; $i++) {
$arrRows[1] = strtr($arrRows[1], $trans1); }
for($i=0; $i<$lenName; $i++) {
$arrRows[1] = strtr($arrRows[1], $trans2); }
for($i=0; $i<$lenName; $i++) {
$arrRows[1] = strtr($arrRows[1], $trans3); }
for($i=0; $i<$lenName; $i++) {
$arrRows[1] = strtr($arrRows[1], $trans4); }
for($i=0; $i<$lenName; $i++) {
$arrRows[1] = strtr($arrRows[1], $trans5); }
$ruName = $arrRows[1];
+1
Зарегистрируйтесь на Хабре , чтобы оставить комментарий
Географические координаты всех городов на Земле