Как стать автором
Обновить

Комментарии 45

прошу прощения за сбитый формат после кода на перле, очень похоже, на то что тег code не закрыт, но найти причину пока не могу.
[souce lang=pearl]

[/source]

Используйте вместо code. (Квадратные скобки я поставил, что бы парсер не скушал теги)
благодарю
А чем вам угловые скобки не понравились?

<source lang=perl>
Можно было ещё залить данные в Fusion Tables, они для подобных задач и были созданы. Красивые визуализации прилагаются.
Вот например небольшая база айпишников по США.
Простите за занудство, но раз уж на нерусском, то наверное не Kolvo, а Amount, например.
У вас другое распределение точек — особенно в Австралии, Аляске, Африке, Южной Америке, Сибири и Дальнем Востоке.
видимо генерировалась давно, могло все измениться
Куда Бразилия делась, и Китай, где пользователей интернета больше, чем всех американцев вместе взятых?
И в Антарктиде точка,
или это битый пиксель у меня на мониторе?))
В Антарктиде есть интернет, я с коллегой по аське общался, когда он там был. Задержка была ощутима — секунда туда, секунда обратно.
как до Луны :)
до Луны 15 минут
Почему?
да, я знал, пингвины активно используют интернет

ну а если серьезно, не подскажете, как проложена до данных широт связь.
спутник, как еще
1) тогда странно «точная» координата для спутникового приемо-передатчика
2) секунда задержки, это еще хорошо в данном случае :)
1) а вы уверены, что она точная? Меня вот обычно в центр Москвы помещают по IP. А я там уже с полгода не бывал.
2) чтож хорошего, за секунду сигнал проходит 300 000 км, это несколько раз до телекоммуникационного спутника и обратно. Значит много времени теряется на различных маршрутизаторах, есть к чему стремиться

Так не только в Антарктиде! Насколько я знаю в Норильск тоже нету никаких наземных каналов, и вся связь 100 тысячного города с миром происходит через спутник…
А что вас так смущает?
Это феерично! Хотелось бы только разрешение побольше, эдак 1280х1024 и соответственно более детализированно
Тогда уж и 1920x1080, под стандарт :)
В качестве обоев на рабочий стол. :)
или фона для страницы «Статистика» на сайте
ммм, а чем вам 3600 на 1800 не устраивает?
с данным разрешением моно спокойно ресайзить по нужное разрешение
А всего-то нужно было для импорта CVS в базу использовать mysqlimport. А дальше в базе всё пошло бы гораздо быстрее. Очень сэкономили бы во времени.
т.е. импортировать svs в БД, а потом парсить БД для необходимого результата?
Через mysqlimport огромные CVS можно превратить в таблицу в базе за очень короткое время, а далее, изменениями параметров полей, добавлением индексов и простейшими запросами добиться необходимого вида базы (чего собственно и делать для такой задачи не обязательно). В итоге перл-скрипт будет лишним + экономия времени не сопоставимая. По опыту скажу, CSV в 10+ гигабайт вскочил в базу за минуты (порядка 5-8), попытки же парсить его скриптами показывали порядка пары недель на той же машине.
я не настолько крут в запросах, чтоб срезать дробные части и сгруппировать простыми запросами и остальным
НЛО прилетело и опубликовало эту надпись здесь
пару часов, это время заполнения БД.
картинка генерируется в совершенно других временных интервалах.
даешь серые ИП Европе и Японии!
При чем здесь серые IP?
а Вы посмотрите на карту. где основное сосредоточение точек? Европа и Япония. если им дать больше серых ИП, то точек там будет меньше. весь смыл нанесения это увидеть где больше пользователей инетом.(в том числе хостеры компании). а наличие серых ИП дает существенную погрешность в эти данные
Правда она считает, что я из бутово переехал в Александровский сад. Но ничего, нам такая точность не к чему.


Видимо координаты центра города просто указаны :)
Я в свое время тоже таким развлекался: d1.fenrirko.aumi.ru/fansub/testmap.jpg
А для GeoIP в цпане есть модуль с логичным названием Geo::IP
запрашивать координаты для определенных ипов из всего диапазона?
Не понял вопроса.
>есть модуль с логичным названием Geo::IP
насколько я помню данный модуль возвращает координату, и прочие данные при запросе к нему ip адреса.
т.е. вы предлагаете поочередно спросить у данного модуля все возможные варианты ip адресов?
Зачем же все. У него есть замечательный метод range_by_ip, с помощью которого можно обойти только диапазоны.
А можно то же самое, только яркость (цвет, оттенок,...) точек в зависимости от поля kol?
НЛО прилетело и опубликовало эту надпись здесь
Осталось разбивку по цветам и страну+количество адресов.
Вот на Ruby:



Код:

require 'geoip'
require 'RMagick'

LAT, LON, WIDTH, HEIGHT, BORDER = 180, 360, 2000, 1200, 70

OFFSET_X = (WIDTH.to_f - BORDER.to_f) / LON.to_f
OFFSET_Y = (HEIGHT.to_f - BORDER.to_f) / LAT.to_f

c = Magick::Image.new(WIDTH, HEIGHT, Magick::GradientFill.new(0, 0, HEIGHT, 0, "#24302F", "#1A2423")) do |img|
  #img.background_color = "#1A2423"
end

cache = {}
GeoIP.new(File.dirname(__FILE__) + '/GeoLiteCity.dat').each do |r|
  x = (180.to_f + r.longitude.to_f) * OFFSET_X
  y = (90.to_f - r.latitude.to_f) * OFFSET_Y
  z = x.to_i * y.to_i
  cache[z] ||= 0

  gc = Magick::Draw.new
  gc.fill(cache[z].to_i > 0 ? "#7D762B" : "#EBE3AF")
  gc.point x, y
  gc.draw c

  cache[z] += 1
end

c.write File.dirname(__FILE__) + '/map.png'
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории