SASGIS

Веб-картография и навигация

SAS.Wiki

Веб-картография и навигация

Инструменты пользователя

Инструменты сайта


отображение_на_карте_произвольной_информации_точек_картинок_и_т.п._из_базы_данных

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

отображение_на_карте_произвольной_информации_точек_картинок_и_т.п._из_базы_данных [08/03/2011 15:51]
93.91.4.251 создано
отображение_на_карте_произвольной_информации_точек_картинок_и_т.п._из_базы_данных [04/03/2014 05:15] (текущий)
Строка 1: Строка 1:
 +====== Отображение на карте произвольной информации (точек,​ картинок и т.п.) из базы данных ======
 +
 +
 SAS Планета имеет средства для работы с метками. К сожалению,​ их функциональность имеет некоторые ограничения. SAS Планета имеет средства для работы с метками. К сожалению,​ их функциональность имеет некоторые ограничения.
  
Строка 7: Строка 10:
  
 __Решить все эти задачи возможно путем создания собственного слоя, накладываемого поверх карты.__ __Решить все эти задачи возможно путем создания собственного слоя, накладываемого поверх карты.__
 +
 +{{:​wiki:​intro.jpg?​442|}}
  
 Это совсем не сложно,​ если Вы знаете,​ что такое PHP, MySQL. Как это сделать,​ мы сейчас и разберем. Это совсем не сложно,​ если Вы знаете,​ что такое PHP, MySQL. Как это сделать,​ мы сейчас и разберем.
Строка 13: Строка 18:
  
 Обратите внимание! Обратите внимание!
-  - В моем примере используется ряд функций PHP по работе с изображениями. Модуль для работы с изображениями (gd2) в PHP по умолчанию выключен. В случае PHP для Windows для того, чтобы включить его, в файле php.ini уберите комментарий в начале строки ''​extension=php_gd2.dll''​ А если такой строки нет - добавьте ее. После чего перезапустите службу веб-сервера.+  - В моем примере используется ряд функций PHP по работе с изображениями. Модуль для работы с изображениями (gd2) в PHP по умолчанию выключен. В случае PHP для Windows для того, чтобы включить его, в файле php.ini уберите комментарий в начале строки ''​extension=php_gd2.dll''​А если такой строки нет - добавьте ее. После чего перезапустите службу веб-сервера.
   - Чтобы было проще работать с MySQL, установите какое-нибудь средство управления MySQL сервером,​ например phpMyAdmin   - Чтобы было проще работать с MySQL, установите какое-нибудь средство управления MySQL сервером,​ например phpMyAdmin
  
-**Скачайте и распакуйте файл с примером:​ sas_demo_db.zip.**+**Скачайте и распакуйте файл с примером: {{:wiki:​sas_demo_db.zip|}}**  
 + 
 +//В связи с ошибкой в библиотеке работы с изображениями в SASПланете необходимо изменить файл map.php (см. [[http://​sasgis.org/​mantis/​view.php?​id=1953|Багтрекер]]). Исправленный файл с примером {{:​sas_demo.zip|}}//​ 
  
   - Содержимое каталога htdocs скопируйте в каталог document_root веб-сервера.   - Содержимое каталога htdocs скопируйте в каталог document_root веб-сервера.
Строка 31: Строка 39:
 (это три наших новых слоя, зачем столько - расcкажу позже) необходимо отредактировать файлы params.txt. В параметре DefUrlBase укажите имя или IP адрес веб-сервера (вместо стоящего по умолчанию значения 127.0.0.1). (это три наших новых слоя, зачем столько - расcкажу позже) необходимо отредактировать файлы params.txt. В параметре DefUrlBase укажите имя или IP адрес веб-сервера (вместо стоящего по умолчанию значения 127.0.0.1).
   * в каталоге SAS Планеты необходимо отредактировать файл sascm.ini, в нем указать адрес веб-сервера (вместо стоящего по умолчанию значения 127.0.0.1)   * в каталоге SAS Планеты необходимо отредактировать файл sascm.ini, в нем указать адрес веб-сервера (вместо стоящего по умолчанию значения 127.0.0.1)
 +
  
 **Можно начинать** **Можно начинать**
  
   - Запустите SAS Cache Manager - файл sascm.exe (из каталога SAS Планеты). Что это такое - см. ниже. Он сам запустит SAS Планету.   - Запустите SAS Cache Manager - файл sascm.exe (из каталога SAS Планеты). Что это такое - см. ниже. Он сам запустит SAS Планету.
-  - Включите слои DemoDB - картинки (png) и DemoDB - подписи (kml)+  - Включите слои DemoDB - картинки (png) и DemoDB - подписи (kml). __Слой DemoDB - разметка (kml) включать НЕ НАДО.__
   - Найдите на карте Москву и установите масштаб так, чтобы Москва заняла весь экран. Вы должны увидеть картинку,​ как в начале статьи.   - Найдите на карте Москву и установите масштаб так, чтобы Москва заняла весь экран. Вы должны увидеть картинку,​ как в начале статьи.
 +
  
 **Как редактировать/​удалять точки** **Как редактировать/​удалять точки**
Строка 43: Строка 53:
   - Непосредственно из SAS Планеты.   - Непосредственно из SAS Планеты.
     * Для этого два раза кликните по белому квадратику рядом с иконкой точки. Откроется окно с информацией о точке и ссылками для редактирования/​удаления точки.     * Для этого два раза кликните по белому квадратику рядом с иконкой точки. Откроется окно с информацией о точке и ссылками для редактирования/​удаления точки.
-    ​* Отредактируйте информацию и нажмите "​Сохранить"​. Закройте окно редактирования. Обновите слои с точками (масштаб увеличить - подождать 4 сек - масштаб уменьшить. Если слой не обновился - мало ждали).+ 
 +{{:​wiki:​edit1.png|}} 
 + 
 +    ​* Отредактируйте информацию и нажмите "​Сохранить"​ 
 + 
 +{{:​wiki:​edit2.png|}} 
 + 
 +    * Закройте окно редактирования. Обновите слои с точками (масштаб увеличить - подождать 4 сек - масштаб уменьшить. Если слой не обновился - мало ждали).
  
 К сожалению,​ в этом окне срабатывают "​горячие"​ клавиши SAS Планеты. Избежать этого можно следующим образом:​ К сожалению,​ в этом окне срабатывают "​горячие"​ клавиши SAS Планеты. Избежать этого можно следующим образом:​
   * в окне, которое открывается после двойного клика по карте, ссылку "​Отредактировать точку"​ кликайте,​ держа нажатой клавишу Shift. В этом случае форма редактирования откроется в окне браузера а не дочернем окне SAS Планеты.   * в окне, которое открывается после двойного клика по карте, ссылку "​Отредактировать точку"​ кликайте,​ держа нажатой клавишу Shift. В этом случае форма редактирования откроется в окне браузера а не дочернем окне SAS Планеты.
 +
 +{{:​wiki:​edit3.png|}}
 +
  
 **Как добавлять точки** **Как добавлять точки**
Строка 52: Строка 72:
   - Средствами СУБД   - Средствами СУБД
   - Непосредственно из SAS Планеты   - Непосредственно из SAS Планеты
-  * Включите слой DemoDB - разметка (kml).+  * Включите слой DemoDB - разметка (kml) 
 + 
 +{{:​wiki:​add1.png|}} 
   * Увеличьте масштаб для точного позиционирования   * Увеличьте масштаб для точного позиционирования
   * кликните по тому месту, куда Вы хотите добавить точку   * кликните по тому месту, куда Вы хотите добавить точку
 +
 +{{:​wiki:​add2.png|}}
 +
   * Дальше действия аналогичны редактированию точки   * Дальше действия аналогичны редактированию точки
   * После добавления отключите слой DemoDB - разметка (kml) и обновите слои с точками.   * После добавления отключите слой DemoDB - разметка (kml) и обновите слои с точками.
 +
  
 **Как это работает** **Как это работает**
  
-В программе SAS планета карты состоят из тайлов (tile - черепица), т.е. подогнанных друг к другу кусочков. Их размер - 256х256 точек (пикселей).+В программе SAS планета карты состоят из тайлов (tile - кафельная ​плитка), т.е. подогнанных друг к другу кусочков. Их размер - 256х256 точек (пикселей).
 При запуске программа начинает запрашивать тайлы с сервера с картами. Это наглядно видно, когда вы выбираете место, которое еще ни разу не посещали (иначе карты грузятся из кэша). Происходит это так в соответствие с параметрами карты настроенными в файлах params.txt и GetUrlScript.txt zmp. При запуске программа начинает запрашивать тайлы с сервера с картами. Это наглядно видно, когда вы выбираете место, которое еще ни разу не посещали (иначе карты грузятся из кэша). Происходит это так в соответствие с параметрами карты настроенными в файлах params.txt и GetUrlScript.txt zmp.
  
Строка 73: Строка 100:
  
 Кроме того, нам необходимо иметь возможность добавлять точки в произвольное место на карте. Для этого используется слой DemoDB - разметка (kml) который заполняет весь экран "​кликабельными"​ метками. Кроме того, нам необходимо иметь возможность добавлять точки в произвольное место на карте. Для этого используется слой DemoDB - разметка (kml) который заполняет весь экран "​кликабельными"​ метками.
 +
  
 **Что такое sascm.exe** **Что такое sascm.exe**
Строка 80: Строка 108:
 Эту задачу решает программа SAS Cache Manager (sascm.exe). Она запрашивает у веб-сервера информацию о выводимых тайлах слоев к веб-серверу и удаляет из кэша уже отображенные тайлы. Эту задачу решает программа SAS Cache Manager (sascm.exe). Она запрашивает у веб-сервера информацию о выводимых тайлах слоев к веб-серверу и удаляет из кэша уже отображенные тайлы.
  
-Для настройки sascm используется файл sascm.ini +Для настройки sascm используется файл sascm.ini. Параметры:​ 
-''​MapServer=127.0.0.1'' ​- имя или IP адрес сервера со слоем. + 
-''​ClientName=client1'' ​- имя клиента. Можно не задавать,​ в этом случае в качестве имени используется IP адрес клиента. Необходимо для того, чтобы различать запросы от разных клиентов в условиях,​ когда к одной и той же базе подключено несколько пользователей. +MapServer=127.0.0.1 - имя или IP адрес сервера со слоем. 
-''​MapCaches=demopng,​demokml,​demorazmetka'' ​- имена каталогов с кэшами слоев, которые надо "​чистить"​. Должны совпадать со значениями,​ указанными в параметре '​NameInCache'​ в файлах params.txt этих слоев.+ 
 +ClientName=client1 - имя клиента. Можно не задавать,​ в этом случае в качестве имени используется IP адрес клиента. Необходимо для того, чтобы различать запросы от разных клиентов в условиях,​ когда к одной и той же базе подключено несколько пользователей. 
 + 
 +MapCaches=demopng,​demokml,​demorazmetka - имена каталогов с кэшами слоев, которые надо "​чистить"​. Должны совпадать со значениями,​ указанными в параметре '​NameInCache'​ в файлах params.txt этих слоев. 
 Непосредственно после запуска sascm проверяет,​ запущена ли SAS Планета и если не запущена - запускает ее. Сделано для того, чтобы не надо было запускать 2 файла. Непосредственно после запуска sascm проверяет,​ запущена ли SAS Планета и если не запущена - запускает ее. Сделано для того, чтобы не надо было запускать 2 файла.