Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 08.12.2016
Сообщений: 7

Картографическая визуализация пользователей интеллектуальной системы"Эйдос"

08.12.2016, 07:47. Показов 579. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я разработчик интеллектуальной системы "Эйдос", которая находится в полном открытом бесплатном доступе, причем с открытыми исходными текстами, на моем сайте по адресу: http://lc.kubagro.ru/aidos/_Aidos-X.htm. Недавно у меня возникла мысль, что можно было бы визуализировать на карте места расположения пользователей, скачавших и запустивших систему. Мой сайт http://lc.kubagro.ru/ находится в находится в локальной сети на виртуальном хостинге под прокси. Поэтому с него определение IP и координат посетителя затруднительно. По этой причине я создал сайт: http://j90540lw.beget.tech, на котором разместил следующий PHP-скрипт, как index.php:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
<?php 
  $file = 'test_strings.txt';                                     // файл 
  define("divider", ",");                                         // разделитель
  $logdate = date("d.m.y,G:i:s");                                 // дата, время
  $ip = getenv('HTTP_X_REAL_IP');                                 // ip-адрес
  if ( $ip == '' ) $ip = 'unknown';                               // проверяем, определился ли ip-адрес
  $var=file_get_contents('http://freegeoip.net/csv/' . $ip);      // определеяем регион, город и его геогр.координаты
  $log = $logdate . divider . $var ;                              // формируем строку
  file_put_contents($file, $log, FILE_APPEND | LOCK_EX);          // пишем содержимое в файл
//  print $log;
  echo '<meta http-equiv="refresh" content="0;URL=http://lc.kubagro.ru">';    // Редирект на основной сайт
?>
Добавлено через 47 минут
В этой системе я сделал режим: 6.9. География пользователей системы "Эйдос-Х++".

Когда кто-либо в мире запускает систему "Эйдос-Х++" на исполнение на компьютере, подключенном к Internet, то на она программно обращается к специально созданному сайту: http://j90540lw.beget.tech, на котором как index.php размещен приведенный выше PHP-код.

Этот код определяет дату и время обращения, а также IP-адрес компьютера, с которого произошло это обращение, а затем по нему определяет страну, регион и город пользователя. Всю эту информацию данный срипт заносит в базу данных: 'test_strings.txt', расположенную на сайте, а затем выполняет переход (редирект) на основной сайт разработчика: http://lc.kubagro.ru.

Режим 6.9. считывает по FTP базу данных 'test_strings.txt' с сайта: http://j90540lw.beget.tech и преобразует ее в DBF-файл: 'Visitors.DBF', которая и отображается в данном режиме в виде таблицы с различными сортировками или просто текста.

Просьба помочь сделать режим для визуализации этой базы данных на масштабируемой карте мира. Очень похожая задача решена здесь: Передача координат из бд в яндекс карты
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.12.2016, 07:47
Ответы с готовыми решениями:

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

Помогите с интеллектуальной игрой на Дельфи.
Здравствуйте. Помогите мне пожалуйста с созданием интеллектуальной игры &quot;Лидер XXI века&quot;. Через 11 дней защита диплома, а у меня...

Добавление интеллектуальной подсказки в VS 2017
Как добавить? Есть xsd файлы. В 2008 был пункт меню XML там можно было загрузить схему.

4
268 / 268 / 109
Регистрация: 22.08.2013
Сообщений: 907
08.12.2016, 09:53
Либо пробуете сами - мы немного помогаем, либо вам во фриланс раздел с такими запросами.
0
0 / 0 / 0
Регистрация: 08.12.2016
Сообщений: 7
08.12.2016, 10:52  [ТС]
Вот есть такой код:

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<?
$data2 = array(
    'points' => array(),
    'times' => array()
);
$str="";
$tms="";
for($i=0;$i<=count($myArr)-1;$i++){
  $data2['points'][$i]=array();
  $data2['points'][$i][0]=$myArr[$i][0];
  $data2['points'][$i][1]=$myArr[$i][1];
  if($i!=0) $str.=","; $tms.="";
  $pos="[".$myArr[$i][0].",".$myArr[$i][1]."]"; 
  $str.=$pos;
  $data2['times'][$i]=$myArr[$i][2];
  $tms.=".$myArr[$i][2].";
}
global $data2;
 
?>
 
<!DOCTYPE html>
<html>
<head>
    <title>Примеры. Метка</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <!-- Если вы используете API локально, то в URL ресурса необходимо указывать протокол в стандартном виде (http://...)-->
    <script src="//api-maps.yandex.ru/2.1/?lang=ru_RU" type="text/javascript"></script>
    <style>
        html, body, #map {
            width: 100%; height: 100%; padding: 0; margin: 0;
        }
    </style>
 
<script type="text/javascript">
<? if(count($date2["points"])!=0){?>
ymaps.ready(init);
<?}else{?>
alert("извините, но запрашиваемые данные отсутствуют");
<?}?>
 
function init () {
    var myMap = new ymaps.Map("map", {
            center: [<?=$myArr[0][0];?>,<?=$myArr[0][1];?>],
            zoom: 10
        })
 
   // Создаем геообъект с типом геометрии "Точка".
      
<?
for($i=0;$i<=count($data2["points"]);$i++){
  echo"
  myGeoObject".$i." = new ymaps.GeoObject({
            geometry: {
                type: "Point",
                coordinates: [".$data2["points"][$i][0].", ".$data2["points"][$i][1]."]
            },
            properties: {
                iconContent: '".$i."',
                hintContent:  '".$data2["times"][$i]."'
            }
        }, {
            preset: 'islands#icon',
            iconColor: '#0095b6'
        });
 
    myMap.geoObjects
        .add(myGeoObject".$i.")";
}
?>
 
    // Создаем ломаную с помощью вспомогательного класса Polyline.
    var myPolyline = new ymaps.Polyline([
            // Указываем координаты вершин ломаной.
            <?echo $str;?>
        ], {
            // Описываем свойства геообъекта.
            // Содержимое балуна.
            balloonContent: "Ломаная линия"
        }, {
            // Задаем опции геообъекта.
            // Отключаем кнопку закрытия балуна.
            balloonCloseButton: false,
            // Цвет линии.
            strokeColor: "#000000",
            // Ширина линии.
            strokeWidth: 4,
            // Коэффициент прозрачности.
            strokeOpacity: 0.5
        });
 
    // Добавляем линии на карту.
    myMap.geoObjects        
        .add(myPolyline);
 
}
 
//function init2() {
 
 
//}
 
 
</script>
</head>
<body>
    <div id="map"></div>
</body>
</html>
И такая база данных (текстовый файл):

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

08.12.16,7:16:23,52.5.98.73,US,United States,VA,Virginia,Ashburn,20149,America/New_York,39.05,-77.47,511
08.12.16,7:35:56,37.146.34.226,RU,Russia ,KDA,Krasnodarskiy Kray,Krasnodar,350000,Europe/Moscow,45.04,38.98,0
08.12.16,7:37:14,37.146.34.226,RU,Russia ,KDA,Krasnodarskiy Kray,Krasnodar,350000,Europe/Moscow,45.04,38.98,0
08.12.16,7:40:57,37.146.34.226,RU,Russia ,KDA,Krasnodarskiy Kray,Krasnodar,350000,Europe/Moscow,45.04,38.98,0
08.12.16,7:56:47,37.146.34.226,RU,Russia ,KDA,Krasnodarskiy Kray,Krasnodar,350000,Europe/Moscow,45.04,38.98,0
08.12.16,8:22:44,130.193.50.17,RU,Russia ,Unknown,Unknown,Unknown,Unknown,Unknown ,55.74,37.61,0
08.12.16,10:24:47,46.38.96.98,RU,Russia, MOW,Moscow,Moscow,101194,Europe/Moscow,55.75,37.62,0
08.12.16,10:49:24,37.146.34.226,RU,Russi a,KDA,Krasnodarskiy Kray,Krasnodar,350000,Europe/Moscow,45.04,38.98,0


Как вытащить значения ее полей, разделенных запятой, в массивы:

'points' => array(),
'times' => array()

База данных находится на сайте в той же папке, в которой PHP и JAWA скрипты.
0
268 / 268 / 109
Регистрация: 22.08.2013
Сообщений: 907
08.12.2016, 12:08
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
 
$fileData = file_get_contents('input.txt');
 
$times = [];
 
$points = [];
 
if ($fileData === false) {
    echo 'Error';
} else {
    $records = preg_split('/$\R?^/m', $fileData);
 
    if ($records === null) {
        echo 'Error';
    } else {
        foreach ($records as $record) {
            $fields = explode(',', $record);
 
            $times[] = $fields[1];
 
//            $points[] = $fields[4];
        }
 
        var_dump($times);
    }
}
Структура данных в fields такая:

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
array (size=13)
  0 => string '08.12.16' (length=8)
  1 => string '7:16:23' (length=7)
  2 => string '52.5.98.73' (length=10)
  3 => string 'US' (length=2)
  4 => string 'United States' (length=13)
  5 => string 'VA' (length=2)
  6 => string 'Virginia' (length=8)
  7 => string 'Ashburn' (length=7)
  8 => string '20149' (length=5)
  9 => string 'America/New_York' (length=16)
  10 => string '39.05' (length=5)
  11 => string '-77.47' (length=6)
  12 => string '511
' (length=4)
0
0 / 0 / 0
Регистрация: 08.12.2016
Сообщений: 7
08.12.2016, 12:20  [ТС]
Спасибо огромное. Буду с этим экспериментировать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.12.2016, 12:20
Помогаю со студенческими работами здесь

Определить виды интеллектуальной собственности
Помогите разобраться, к каким видам объектов интеллектуальной собственности (новшество, изобретение, полезная модель, промышленный образец)...

Связать группы пользователей из мастер защиты на уровне пользователей с должностями пользователей в БД
Интересный вопрос и интересно как его решить. Изначально условия следующие: один компьютер, один рабочий стол, одна база...

Создания интеллектуальной обучающей системы по математическому моделированию
Помогите кто чем может,срочно нужно написать эту прогу по мат. моделированию в delphi.Сам пытался,ничего путного не вышло.Заранее спасибо

Защита интеллектуальной собственности. Скрытие дизайна базы
Уважаемые форумчане! Подскажите, пож, как защитить дизайн своих баз от вскрытия в дизайнере и изменении в них программного кода? У меня...

Юридическая поддержка online бизнеса, защита интеллектуальной собственности
Консультации и юридическая поддержка по вопросам связанным с защитой интеллектуальной собственности Компания Викторов и партнеры с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru