Есть база данных, содержащая информацию событиях разнесенных по времени и географии. Подскажите, как можно на карту нанести что-то типа маркеров (булавок), связанных с этими событиями?
Зависит от следующих аспектов: - в каком виде у Вас хранится метрика; - как Вы планируете процесс: - это одноразовая операция или требуется выполнение с какой-то периодичностью; - Вы планируете разработать собственный инструмент для этого или воспользоваться готовыми программными решениями?
Метрика хранится в виде названий страны, региона и нас. пункта. Операция будет выполняться периодически. Необходимо разработать собственный инструмент.
Александр Карулин написал: Необходимо разработать собственный инструмент.
Вариантов несколько (в зависимости от вида приложения, операционной системы, среды разработки и т.д.):
1. разработать свою прикладную задачу, которая будет функционировать "внутри" ГИС Панорама или ГИС Оператор для этого используется протокол PANAPI/MAPAPI, задачи разрабатываются на основе SDK.
3. геоинформационное web-приложение на основе GIS WebService SE: - при необходимости расширения функционала GIS WebService SE в него можно добавить собственные прикладные задачи, разработанные на основе SDK; - функционал клиентского web-интерфейса разрабатывается на GIS WebToolKit SE; - за основу web-приложения можно взять GIS WebServer SE, примеры можно посмотреть тут.
Цитата
Александр Карулин написал: Метрика хранится в виде названий страны, региона и нас. пункта.
А вот это основной вопрос. Как Вы планируете получать координаты ваших маркеров по адресу? По сути нужна геокодированная БД адресов. Что будет является источником данных для геокодирования? - можно использовать картографические основы (импортированные из OSM) и выполнять поиск объекта по адресу, а маркер устанавливать в центр найденного объекта; - можно загрузить БД в PostgreSQL и там выполнить ее геокодирование (например, как описано тут); - воспользоваться готовыми сервисами в Интернет, например с помощью Яндекс-API
А сам алгоритм довольно прост. Ваше приложение определяет координаты маркеров и создает по ним объекты на карте с нужным условным знаком ("булавка").
PS Если Вы будете использовать геокодированную БД под управлением СУБД PostgreSQL, Oracle или MS SQL Server, и перечень маркеров будет представлен в этой же БД отдельным набором данных, то можно будет открыть его в виде готовой карты без программирования, так как все наши продукты на уровне ГИС-ядра умеют это делать. Основное условие: метрика в исходном наборе данных должна быть в формате GEOMETRY, SDO_GEOMETRY или GEOGRAPHY (для PostgreSQL, Oracle и MS SQL Server соответственно) и иметь первичный ключ (уникальный идентификатор) в виде целого числа. Для OC Linux поддерживается работа только с СУБД PostgreSQL. Подробнее на примере ГИС Панорама можно почитать тут (но это поддерживается во всех продуктах, в том числе в разработанных Вами на основе GIS ToolKit, GIS ToolKit Active или ГИС Конструктор для Qt Designer).