SASGIS

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

HELP

программа для загрузки и просмотра спутниковых снимков Земли, Луны, Марса предоставленных сервисами Google Maps и Космоснимки. Возможность работы с GPS приёмником.

Модератор: Tolik

Re: HELP

Сообщение nafa » 08 фев 2011, 03:05

Удалось таки сделать. Данные для точек берутся с SQL сервера (база 1С Торговля). Доступ к редактированию точек естественно многопользовательский. Все именно так, как описано двумя постами выше. Если кому интересно, расскажу подробнее.

Изображение
Вложения
1.jpg
Вот примерно так оно и выглядит

За это сообщение автора nafa поблагодарил:
gpsMax (10 апр 2011, 17:59)
Рейтинг: 5.26%
 
nafa
Новичок
 
Сообщения: 25
Зарегистрирован: 20 дек 2010, 10:53
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.

Re: HELP

Сообщение ktoto » 14 фев 2011, 00:23

nafa писал(а): Если кому интересно, расскажу подробнее.


интересно посмотреть на ваш kml файл
ktoto
Новичок
 
Сообщения: 3
Зарегистрирован: 21 сен 2009, 23:07
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: HELP

Сообщение nafa » 14 фев 2011, 11:31

интересно посмотреть на ваш kml файл

Код: Выделить всё
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.0">
<Document>

<Placemark>
   <name>77 Ленинградское ш. 71г</name>
    <description>
      <![CDATA[МЕТРО<br>Ленинградское ш. 71г<br>Приемка: 05.00-14.00]]>
    </description>
    <Point>
     <coordinates>37.44731500,55.87578400,0</coordinates>
    </Point>
  </Placemark>

<Placemark>
   <name>77 Коровинское шоссе 21</name>
    <description>
      <![CDATA[Сюда пишем описание точки, ссылка на веб-страницу точки и т.п.]]>
    </description>
    <Point>
     <coordinates>37.52441700,55.87625800,0</coordinates>
    </Point>
  </Placemark>

<Placemark>
   <name>77 Правобережная</name>
    <description>
      <![CDATA[АШАН]]>
    </description>
    <Point>
     <coordinates>37.44923700,55.88079300,0</coordinates>
    </Point>
  </Placemark>

<Placemark>
   <name>77 Коровинское шоссе 24</name>
    <description>
      <![CDATA[7й Континент]]>
    </description>
    <Point>
     <coordinates>37.51995200,55.88223700,0</coordinates>
    </Point>
  </Placemark>
</Document>
</kml>

Поверх карты нанесено ДВА слоя
Первый слой - из картинок, который Вы собственно и видите.
Второй слой - из КМЛ, он нужен для интерактивности (т.е. чтобы можно было посмотреть дополнительную информацию о точке (метке), отредактировать ее и т.п). От него Вы видите белые квадратики.
Вложения
y1277.gif
y1277.gif (2.62 KiB) Просмотров: 6911

За это сообщение автора nafa поблагодарил:
gpsMax (10 апр 2011, 18:00)
Рейтинг: 5.26%
 
nafa
Новичок
 
Сообщения: 25
Зарегистрирован: 20 дек 2010, 10:53
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.

Re: HELP

Сообщение gpsMax » 14 фев 2011, 11:35

Если кому интересно, расскажу подробнее.

Очень интересно. Особенно заинтересовало многопользовательское редактирование и связка с SQL-сервером. Расскажите, пожалуйста.
gpsMax
Постигающий Дао
 
Сообщения: 142
Зарегистрирован: 02 апр 2010, 23:58
Благодарил (а): 44 раз.
Поблагодарили: 9 раз.

Re: HELP

Сообщение nafa » 15 фев 2011, 20:21

Расскажите, пожалуйста.

Объясняю. Есть таблица (неважно где) с точками, которые надо выводить на карту. Имеем следующие варианты вывода:
1. Сформировать на ее основании файл с метками. Достоинство этого метода - простота. Но: файл грузится один раз при запуске программы, а нередко нужно обновлять информацию оперативно.
2. Создать "слой" - то, что выводится поверх карты. Например, как Wikimapia.
Каждый слой состоит из кусочков (тайлов) 256х256. Слои программа SAS Планета получает по http. Самый распространенный http (веб) сервер - Apache, он бесплатный.
После включения слоя SAS Планета начинает запрашивать у веб-сервера тайлы. Я настроил запрос так, чтобы в нем передавались координаты двух углов (юго-западного и северо-восточного) тайла, а также асболютные номера картинки по x, y и увеличение zoom - т.е. полная информация о тайле.
Веб-сервер при получении запроса запускает скрипт (программу) на PHP (это самое распространенное средство скриптов для веб). Данный скрипт читает таблицу с точками, выбирает все точки, оказавшиеся в нужном нам тайле, формирует KML и возвращает веб-серверу, а тот SAS Планете.
Но: SAS Планета не позволяет вывести в KML слое картинки и надписи, а они нам нужны. Для того, чтобы их вывести, создаем по аналогичной схеме второй слой - "картиночный" (png). Теперь скрипт генерирует тайлы - картинки (пример выше). Большая часть- прозрачная (то, что отбражено черным на карте будет прозрачным). И на этой картиночке уже нанесены иконки меток и подписи (в PHP это очень просто делается). После совмещения карты, слоя картинок и слоя KML получаем картинку, как на скриншоте.
Точки удобнее хранить не в файле, а в базе данных. Можно использовать например бесплатный MySQL. Слово "сервер баз данных" не должно никого пугать - читать/писать данные в БД ничуть не сложнее, чем в обычный текстовый файл. Зато таблицу на сервере БД могут редактировать одновременно много пользователей. Вам про это думать не надо - это проблема сервера БД а не Ваша.
Если Вы хотите, чтобы точку можно было редактировать кликом по карте, то в описание точки необходимо включить адрес странички с формой редактирования соответствующей записи в БД.

За это сообщение автора nafa поблагодарил:
gpsMax (10 апр 2011, 18:00)
Рейтинг: 5.26%
 
nafa
Новичок
 
Сообщения: 25
Зарегистрирован: 20 дек 2010, 10:53
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.

Re: HELP

Сообщение feya » 15 фев 2011, 20:34

nafa, интересное решение!) А вообще нам надо добавлять нормальное отображение KML
http://sasgis.org | SAS.Планета | SASPlanet
Аватара пользователя
feya
Гуру
 
Сообщения: 2034
Зарегистрирован: 13 июл 2008, 10:45
Благодарил (а): 5 раз.
Поблагодарили: 56 раз.

Re: HELP

Сообщение workdao » 16 фев 2011, 01:05

еще бы здорово было поддержку fusion tables сделать поскольку там можно генерировать слои и расставлять метки
http://45f.ru - Карты и спутниковые снимки Кургана и Курганской области
Аватара пользователя
workdao
Специалист
 
Сообщения: 707
ICQ: 418481373
Зарегистрирован: 14 дек 2008, 00:44
Откуда: Курган
Благодарил (а): 3 раз.
Поблагодарили: 45 раз.

Re: HELP

Сообщение gpsMax » 16 фев 2011, 02:05

Оп-па-па! Великолепная идея подвязать всё к БД. В реализации могут быть сложности (в частности, лень PHP-скрипты писать), но гибкость необычайная.

Я вот думал про отображение множества людей/машин на основе SAS. Разработчики некогда отослали эту проблему до написания основы для плагинов. А вот на основе таких динамических слоёв кривовато, геморройно, но в принципе можно такое сделать.
gpsMax
Постигающий Дао
 
Сообщения: 142
Зарегистрирован: 02 апр 2010, 23:58
Благодарил (а): 44 раз.
Поблагодарили: 9 раз.

Re: HELP

Сообщение ktoto » 23 фев 2011, 14:56

подскажите
открыт слой "спутник google"
рисую метки и полигоны
если изменить масштаб на 20 и выше, то метки и полигоны не отображаются
если масштаб вернуть назад на 19, 18, 17 и т.д. - на этих масштабах всё отображается корректно
это баг или фича? как включить отображение меток\полигонов на 20+ масштабе?

p.s. версия 110216
ktoto
Новичок
 
Сообщения: 3
Зарегистрирован: 21 сен 2009, 23:07
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: HELP

Сообщение Papazol » 23 фев 2011, 15:18

Изображение
Аватара пользователя
Papazol
Гуру
 
Сообщения: 2069
Зарегистрирован: 04 дек 2009, 01:39
Откуда: Рязань
Благодарил (а): 74 раз.
Поблагодарили: 647 раз.

Пред.След.

Вернуться в SAS.Планета

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9