Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / C++ Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3 4 5 6 7 8   вперед  Ctrl      все
 Тяпничная география  [new]
mayton
Member

Откуда: loopback
Сообщений: 51019
Здарова други!

Кодеры. Программеры. Арифметики и счетоводы. И сочувтвующие.

Значит есть у меня база. В формате csv. И прогружена в БД для удобства. Диапазоны IPv4 адресов и привязка к странам.

2.92.0.0,2.95.255.255,"RU","48","Moscow","",55.7522,37.6156,,
2.96.0.0,2.96.23.255,"GB","H8","Liverpool","",53.4167,-3.0000,,
2.96.24.0,2.96.27.255,"GB","N1","Saint Helens","",53.4500,-2.7333,,
2.96.28.0,2.96.47.255,"GB","H8","Liverpool","",53.4167,-3.0000,,
2.96.48.0,2.96.51.255,"GB","H2","Skelmersdale","",53.5333,-2.8000,,
2.96.52.0,2.96.55.255,"GB","H8","Liverpool","",53.4167,-3.0000,,
2.96.56.0,2.96.59.255,"GB","H2","Skelmersdale","",53.5333,-2.8000,,
2.96.60.0,2.96.61.255,"GB","N1","Saint Helens","",53.4500,-2.7333,,
2.96.62.0,2.96.63.255,"GB","I2","Manchester","",53.5000,-2.2167,,
2.96.64.0,2.96.65.255,"GB","H2","Ormskirk","",53.5667,-2.9000,,
2.96.66.0,2.96.67.255,"GB","H2","Skelmersdale","",53.5333,-2.8000,,
.....

Тоесть скруль к примеру (89.188.113.172) попадает в диапазон [89.188.106.244 89.188.127.255] - Ru/Moscow.


Задача - визуализировать ВСЕ адреса на картинке. Каждый пиксел - 1 уникальный адрес.
Каждая страна - отдельный цвет.. По сути - получить
мозаику из стран.

Прошу мозговой штурм.

Чо. Как. Трудности. Количественные оценки.
Примеры хард-кода.

Доп. цифры могу предоставить. Сколько адресов. Сколько диапазонов и стран. (Сформирую отчётики)
-----

Спасибо.
13 мар 15, 13:36    [17380387]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная география  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 9478
А смысл? Может взять какую нибудь карту мира и на ней раскрасить?
13 мар 15, 14:18    [17380660]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная география  [new]
mayton
Member

Откуда: loopback
Сообщений: 51019
Смысл - пятничное обсуждение. Чуть позже дам цифирки.
13 мар 15, 14:31    [17380766]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная география  [new]
mayton
Member

Откуда: loopback
Сообщений: 51019
Хопа! А вот и цифирки.

Значит так.

Количество диапазонов.
SQL> select count(*) from geoipcity;

  COUNT(*)
----------
   5748952


Всего аллоцировано IPv4 адресов.
SQL> select sum(n_endip-n_startip) from geoipcity;

SUM(N_ENDIP-N_STARTIP)
----------------------
            3155268734

Это чуть меньше адресации 32х бит.

Всего стран.
SQL> select count(*) from (select distinct country from geoipcity);

  COUNT(*)
----------
       239


Топ 10 стран по количеству аллоцированных адресов.
SQL> select * from (select country,sum(n_endip-n_startip) "SUM" from geoipcity group by country order by 2 desc) where rownum<=10;

COUNT        SUM
----- ----------
US    1507673738
CN     267741269
JP     186372005
GB     115678470
DE     111001300
KR      99794924
CA      79731827
FR      71670825
AU      47299268
IT      45215782
13 мар 15, 15:34    [17381336]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная география  [new]
SashaMercury
Member

Откуда: Москва
Сообщений: 2653
Проблема с тем, чтобы понять какие страны граничат друг с другом, и исходя из этого определиться с тем, как их можно раскрашивать.
Если я правильно понял.

Определить это можно только по географическим координатам. Полный перебор очевидно не подходит. Нужно найти подходящий способ определения контура каждой страны. Определить метрику между контурами, и исходя из этого делать выводы об общей границы.

Либо, построить все(либо достаточное количество) точки. Провести триангуляцию области. Сделать выводы о границах, и провести раскраску
13 мар 15, 15:47    [17381420]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная география  [new]
miksoft
Member

Откуда:
Сообщений: 38773
mayton
Задача - визуализировать ВСЕ адреса на картинке.
Так на что должна эта картинка походить? Реальная карта стран? Или тупо прямоугольник 64Кх64К?

В порядке пятничного бреда - а что если попытаться скормить все или часть адресов кластеризации в яндекс.картах ? Они, помнится, где-то писали, что довольно много точек могут прожевать. Правда, вряд ли 5 миллионов смогут.

Кстати, если сделать группировку по координатам, то сколько останется?
13 мар 15, 15:57    [17381487]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная география  [new]
SashaMercury
Member

Откуда: Москва
Сообщений: 2653
miksoft
mayton
Задача - визуализировать ВСЕ адреса на картинке.
Так на что должна эта картинка походить? Реальная карта стран? Или тупо прямоугольник 64Кх64К?

В порядке пятничного бреда - а что если попытаться скормить все или часть адресов кластеризации в яндекс.картах ? Они, помнится, где-то писали, что довольно много точек могут прожевать. Правда, вряд ли 5 миллионов смогут.

Кстати, если сделать группировку по координатам, то сколько останется?


вероятно должна получиться реальная карта стран построенная только на основе IP - адресов. Тут больше 3 миллиардов, где вы тут 5 миллионов увидели не понял:)
13 мар 15, 16:01    [17381510]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная география  [new]
mayton
Member

Откуда: loopback
Сообщений: 51019
SashaMercury
Проблема с тем, чтобы понять какие страны граничат друг с другом, и исходя из этого определиться с тем, как их можно раскрашивать.
Если я правильно понял.

Определить это можно только по географическим координатам. Полный перебор очевидно не подходит. Нужно найти подходящий способ определения контура каждой страны. Определить метрику между контурами, и исходя из этого делать выводы об общей границы.

Либо, построить все(либо достаточное количество) точки. Провести триангуляцию области. Сделать выводы о границах, и провести раскраску

Нет. Никакой географии пока не нужно. В этой базе нет информации о границах государств.
А сервисы визуализирующие трафик клиентов на сайте с точки зрения гео-локаций уже
существуют. И я не буду их повторять. Мне вообще всегда скушно любое повторение.

А вот отобразить over 3 млрд цветных точек на большом квадрате. Каждая из которых - 1 адрес.
Это мне кажется задачей любопытной. И вовсе не такой однозначной.
13 мар 15, 16:05    [17381542]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная география  [new]
mayton
Member

Откуда: loopback
Сообщений: 51019
miksoft
mayton
Задача - визуализировать ВСЕ адреса на картинке.
Так на что должна эта картинка походить? Реальная карта стран? Или тупо прямоугольник 64Кх64К?

В порядке пятничного бреда - а что если попытаться скормить все или часть адресов кластеризации в яндекс.картах ? Они, помнится, где-то писали, что довольно много точек могут прожевать. Правда, вряд ли 5 миллионов смогут.

Кстати, если сделать группировку по координатам, то сколько останется?

Думаю - да. Это (предположительно) квадрат со стороной >= 64К пикселов.

Разумно будет с точки зрения дизайна заполнить его нейтральным серым цветом.
Это будет маркировка не использованых или потерянных адресов. Или адресов
локальных сетей.

А over 200 стран(государств) раскрасить в цвета радуги от синего до красного.
13 мар 15, 16:07    [17381554]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная география  [new]
SashaMercury
Member

Откуда: Москва
Сообщений: 2653
mayton
SashaMercury
Проблема с тем, чтобы понять какие страны граничат друг с другом, и исходя из этого определиться с тем, как их можно раскрашивать.
Если я правильно понял.

Определить это можно только по географическим координатам. Полный перебор очевидно не подходит. Нужно найти подходящий способ определения контура каждой страны. Определить метрику между контурами, и исходя из этого делать выводы об общей границы.

Либо, построить все(либо достаточное количество) точки. Провести триангуляцию области. Сделать выводы о границах, и провести раскраску

Нет. Никакой географии пока не нужно. В этой базе нет информации о границах государств.
А сервисы визуализирующие трафик клиентов на сайте с точки зрения гео-локаций уже
существуют. И я не буду их повторять. Мне вообще всегда скушно любое повторение.

А вот отобразить over 3 млрд цветных точек на большом квадрате. Каждая из которых - 1 адрес.
Это мне кажется задачей любопытной. И вовсе не такой однозначной.



А в чём проблема раскрасить каждую точку? Их нужно раскрашивать определенным цветом в зависимости от государства ?
13 мар 15, 16:08    [17381563]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная география  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34688
mayton

Задача - визуализировать ВСЕ адреса на картинке. Каждый пиксел - 1 уникальный адрес.


Э...
Может карта Кохонена ?
13 мар 15, 16:09    [17381568]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная география  [new]
mayton
Member

Откуда: loopback
Сообщений: 51019
По поводу яндекса - я не вкурсе. Наверное речь идёт о каком-то сервисе кластеризации
которого я просто не знаю.

Но в порядке пятничного бреда - даже для пикселов в квадрате мне понадобится какой-то
инструмент для идентификации диапазона.

Например можно сделать приложение. Ты навёл мышкой над цветной областью - и тебе пишут
дескыть [89.188.106.244 - 89.188.127.255] - Ru/Moscow.
13 мар 15, 16:09    [17381571]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная география  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34688
mayton
Задача - визуализировать ВСЕ адреса на картинке. Каждый пиксел - 1 уникальный адрес.
Каждая страна - отдельный цвет.. По сути - получить
мозаику из стран.


Так а какова цель визуализации ? Какие параметры нужно визуализировать на картинке?
13 мар 15, 16:11    [17381584]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная география  [new]
SashaMercury
Member

Откуда: Москва
Сообщений: 2653
MasterZiv
mayton
Задача - визуализировать ВСЕ адреса на картинке. Каждый пиксел - 1 уникальный адрес.


Э...
Может карта Кохонена ?


то есть всё-таки с метриками придётся разобраться
13 мар 15, 16:12    [17381588]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная география  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34688
MasterZiv
mayton
Задача - визуализировать ВСЕ адреса на картинке. Каждый пиксел - 1 уникальный адрес.


Э...
Может карта Кохонена ?


Ну да, поскольку есть критерий пространственной близости-удалённости (расстояние между коорд., заданными широтой и долготой),
то да, можно построить карту Кохонена.


p.s. если не секрет, где берёте IPGEODATA ? (можно в приват).
13 мар 15, 16:14    [17381607]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная география  [new]
mayton
Member

Откуда: loopback
Сообщений: 51019
SashaMercury
А в чём проблема раскрасить каждую точку? Их нужно раскрашивать определенным цветом в зависимости от государства ?

Давай порассуждаем. Какого размера картинки ты вообще встречал в природе?

Я знаю что современные зеркалки шлёпают сырые фотки до 16 мегапикселов.
Это (примерно) 4000 на 4000 цветных элементов каждый из которых занимает 24/32
бита в зависимости от способа хранения.

И это далеко не тривиальная задача даже просто создать подобную картинку 64К на 64К.

Это софт - эксклюзивный. Штучный. И думаю что создавать ее придется частями.
Панорамой. Это придает задаче определенный трудный старт.

Кстати я год назад гуглил сервис который хранит гига-пиксельные фотки. Кажется
там было фото Эвереста отснятое большим количеством панорамок.
13 мар 15, 16:14    [17381612]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная география  [new]
miksoft
Member

Откуда:
Сообщений: 38773
mayton
По поводу яндекса - я не вкурсе. Наверное речь идёт о каком-то сервисе кластеризации
которого я просто не знаю.
У них свой сервис в составе API яндекс.карт. Но, если географии не надо, то, наверное, и сервис не подойдет.
13 мар 15, 16:14    [17381616]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная география  [new]
mayton
Member

Откуда: loopback
Сообщений: 51019
MasterZiv
Так а какова цель визуализации ? Какие параметры нужно визуализировать на картинке?

Это должна быть цветная диаграмма. На которой должны быть видны все 200+ стран. В виде прямоугольничков.
Или полосок. Или просто каких-то сложных областей. Типа многоугольников.

И должно соблюдаться отдельное условие которое я специально сам себе задал. (Только что)

- Два соседних IPv4 адреса должны быть двумя соседними пикселами на картинке.
13 мар 15, 16:17    [17381635]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная география  [new]
miksoft
Member

Откуда:
Сообщений: 38773
Кстати, наверняка есть смысл "причесать" этот список диапазонов - слить соседние одинаковые, разобраться с пересечениями, удалить мелкие диапазоны, входящие в идентичные более крупные и т.п.
13 мар 15, 16:19    [17381664]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная география  [new]
mayton
Member

Откуда: loopback
Сообщений: 51019
MasterZiv
Ну да, поскольку есть критерий пространственной близости-удалённости (расстояние между коорд., заданными широтой и долготой),
то да, можно построить карту Кохонена.

Э.... здесь я зависну на пару недель. Мне знаком термин карта Кохонена. Кажется в универе мы изучали это на курсе
нейросетей. Не хочу показаться незнающим поэтому пока поскипаем. Чуть позже я попробую осмыслить предложение
и дать ответ.

p.s. если не секрет, где берёте IPGEODATA ? (можно в приват).

Нет не секрет. ПО находится здесь. Там же торгуют базами или сервисом гео-локаций.

https://www.maxmind.com/en/geoip2-services-and-databases

Тестовую базу в разрезе крупных городов можно там скачать (так было года 2 назад. Щас не знаю).

Моя выборка CSV (более полная я так думаю) легко находися на http://rutracker.org по ключевым словам maxmind, geoip, geolocation

Там много бинарей (уже legacy формат) и есть выборка *.csv (файлик размером 400М).

Впрочем если что я могу скинуть.
13 мар 15, 16:25    [17381705]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная география  [new]
miksoft
Member

Откуда:
Сообщений: 38773
mayton
И должно соблюдаться отдельное условие которое я специально сам себе задал. (Только что)

- Два соседних IPv4 адреса должны быть двумя соседними пикселами на картинке.
Если это абсолютное требование - то вариант только один - линейное расположение пикселей, т.е. цепочка. А вот укладывать эту цепочку на плоскости можно разными способами - меандром, по спирали и т.п.

Я бы для начала предложил не мудрить, а построить прямоугольник 3584х4096. В качестве координат - первые 12 разрядов и следующие 12 разрядов ip-адресов. Младший октет игнорировать. Сильно подозреваю, что, за небольшим исключением вкраплений старых крупных диапазонов, это будет абсолютно хаотичная картинка.
13 мар 15, 16:26    [17381715]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная география  [new]
SashaMercury
Member

Откуда: Москва
Сообщений: 2653
Марк, как будут раскрашиваться точки ?
Цвет точек принадлежащих одной стране одинаковый ?
Рядом не должны быть расположены 2 страны с одинаковым цветом ?
13 мар 15, 16:30    [17381746]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная география  [new]
mayton
Member

Откуда: loopback
Сообщений: 51019
miksoft
Если это абсолютное требование - то вариант только один - линейное расположение пикселей, т.е. цепочка. А вот укладывать эту цепочку на плоскости можно разными способами - меандром, по спирали и т.п.

Да я щас думаю над этим. Самое сложное - обеспечить кластеризацию или скопление точек в одном месте.
Не хочется диаграмму превращять в полосатый шум. Всё таки визуализация должна быть наглядной.

Я подумал вот над чем. Если диапазон адресов перевести в коды Грея то между соседними адресами
не будет скачков и если взять 32 битное целое (адрес) и разбить его на 16+16 битов Грея
то эта пара координат в (x,y) будет достаточно плотно лежать с соседями.

Я бы для начала предложил не мудрить, а построить прямоугольник 3584х4096. В качестве координат - первые 12 разрядов и следующие 12 разрядов ip-адресов. Младший октет игнорировать. Сильно подозреваю, что, за небольшим исключением вкраплений старых крупных диапазонов, это будет абсолютно хаотичная картинка.

Мысль инетересная. Думаю что для чернового варианта диаграммы я так и сделаю.

Минут через 15 подкину еще цифр по длинам диапазонов.
13 мар 15, 16:33    [17381759]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная география  [new]
mayton
Member

Откуда: loopback
Сообщений: 51019
SashaMercury
Марк, как будут раскрашиваться точки ?
Цвет точек принадлежащих одной стране одинаковый ?
Рядом не должны быть расположены 2 страны с одинаковым цветом ?

Ну.... top10 стран ты видел. Надо чтобы хотя-бы эти "толстяки" не пересекались
по HSV палитре.

А на всякие там республики Тувалу или Мауру мне будет пофигу. Пускай цвета похожи.
13 мар 15, 16:36    [17381782]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная география  [new]
miksoft
Member

Откуда:
Сообщений: 38773
mayton
Самое сложное - обеспечить кластеризацию или скопление точек в одном месте.
mayton
- Два соседних IPv4 адреса должны быть двумя соседними пикселами на картинке.
Имхо, эти два требования несовместимы между собой.
13 мар 15, 16:37    [17381786]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3 4 5 6 7 8   вперед  Ctrl      все
Все форумы / C++ Ответить