На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты
АРХИВ ФОРУМА...
здесь вы можете ознакомиться с материалами форума до 08.06.2008

Програмное подключение к Гис серверу!

Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти  
Форум » Настольные приложения » GIS ToolKit
Страницы: 1 2 3 След.
RSS
Програмное подключение к Гис серверу!
Здравствуйте! Задача: необходимо программно подключиться к гис серверу 2008, открыть карту и вывести ее в mapview! Используем Gistoolkit 11 версия и Delphi 2010! Не могли бы вы привести пример этого подключения! В данной ветке уже был схожий вопрос, но в MapApi.inc нет некоторых вами указанных функций и непонятно как отобразить открытую карту в mapview! С Уважением!!!
Изменено: Дмитрий Морозов - 17.01.2012 12:18:15
+ Профессиональная ГИС "Карта 2011" (версия 11)
+ ГИС "Оператор" для силовых структур (версия 11)
+ "Панорама АВТО"
+ ГИС Сервер 2011
+ ГИС WebServer x64
+ Мониторинг баз данных
От 17.01 - вышла новая версия GIS ToolKit, 11.7 - см. Новость на сайте. Как раз в тему, может там решен и Ваш вопрос.
Компонент TMapGisServer используется для работы с картографическими данными, которые предоставляются программой ГИС Сервер 2008. ГИС Сервер 2008 – программа, предназначенная для обеспечения удаленного доступа к картографическим данным пользователей программ ГИС Карта 2011, Панорама-Редактор, ГИС Навигатор 2008, ГИС-вьюер и других программ, разработанных в среде GIS ToolKit версии 10 и новее. Сервер предоставляет удаленный доступ к векторным картам, растрам и матрицам. Соединение с сервером устанавливается по протоколу TCP\IP с использованием механизма сокетов.
Размещение данных на сервере обеспечивает защиту данных от нелегального копирования и изменения. Пользователь выбирает данные для работы по их условным именам (алиасам). Векторные карты могут быть открыты для просмотра или для просмотра и редактирования. Растры и матрицы доступны только для просмотра и выполнения расчетов. Кроме того, все данные могут быть закрыты или открыты для копирования с сервера – в обменные форматы, в буфер обмена или на другие карты.


В комплекте поставки есть пример по работе с ГИС Сервером - TestView
Этот момент ясен. Но компонент TMapGisServer лишь вызывает диалоги для подключения! Как сделать на программном уровне подключение без запроса данных от пользователя! Иными словами пользователь запускает программу и у него сразу открывается карта расположенная на сервере! Вообще существует ли такая возможность? Если да то как?!
+ Профессиональная ГИС "Карта 2011" (версия 11)
+ ГИС "Оператор" для силовых структур (версия 11)
+ "Панорама АВТО"
+ ГИС Сервер 2011
+ ГИС WebServer x64
+ Мониторинг баз данных
Функции доступа к ГИС Серверу без вызова диалогов описаны в mapapi.inc (mapapi.h)

Например:
// Установить параметры соединения с ГИС-сервером
// Вызывается до открытия карт на сервере
// HostName - имя хоста (до 256 символов); если ishost не равен 0
// или строка адреса "XXX.XXX.XXX.XXX"
// Если параметр равен нулю - сервер ищется на локальном хосте "localhost".
// port - номер порта от 1024 до 65536; по умолчанию - 2047 (если port = 0)
// При ошибке возвращает ноль

function mapSetConnectParameters(aname : GTKPChar; aport, aishost : integer) : integer;

// Зарегистрировать пользователя
// Если соединение с сервером не было установлено -
// пытается соединиться с установленными ранее параметрами
// Структура USERPARM описана в maptype.h
// При ошибке возвращает ноль

function mapRegisterUs er(var aparm : TMCUSERPARM) : integer;

Карта открывается в MapView стандартным методом OpenData, где в качестве имени указывается
Для открытия карты на ГИС Сервере используются те же функции, что и для открытия локально
расположенной карты в MapView стандартным методом OpenData. Отличия в формате имени карты.
Имя карты на ГИС Сервере имеет вид "ALIAS#условное_имя_карты". Строка "ALIAS#" является
ключевым словом для обращения к ГИС-серверу.

Порядок вызова АПИ функций описан в файле "Руководство программиста.doc" (входит в инсталляцию)
Добрый день! Спасибо за разьяснения, стало немного более понятно. Но теперь не могу подключиться

к серверу!

Код
number:=mapSetConnectParameters('192.168.1.2',2047,1);
if number=0 then
MessageDlg('Ошибка соединения с сервером', mtError,[mbok],0)
else MessageDlg('Соединение с сервером прошло успешно', mtError,[mbok],0)


Какие бы параметры не вводил, все равно функция возвращает "0":

Код
number:=mapSetConnectParameters('192.168.1.2',2047,1);
number:=mapSetConnectParameters('192.168.1.2',0,1);
number:=mapSetConnectParameters('gis',2047,1);
number:=mapSetConnectParameters('gis',0,1);
number:=mapSetConnectParameters('192.168.1.2',2047,0);
number:=mapSetConnectParameters('192.168.1.2',0,0);
number:=mapSetConnectParameters('gis',2047,0);
number:=mapSetConnectParameters('gis',0,0);


Модли подключены следующие:

Код
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, mapviewa, mapwina, mapcmp, mapcompa, mapgsrv,MapType, GtkLink, mapproc, mapdialg,

StdCtrls, mdview;


Ошибок при компилящии нет. Отключал и брандмауер и антивирусы. Компьютер в нужной подсети и

физически видит сервер. Не понимаю в чем может быть проблемма.
+ Профессиональная ГИС "Карта 2011" (версия 11)
+ ГИС "Оператор" для силовых структур (версия 11)
+ "Панорама АВТО"
+ ГИС Сервер 2011
+ ГИС WebServer x64
+ Мониторинг баз данных
Может вопрос и глупый, но задам. А гис сервер запущен? Также подскажиите Вашу версию ГИС сервера?
GIS Server 2011. запущен) Гис Карта 2008 подключается нормально, правда с другого компьютера. Кстати пример TestView запускал, он тоже не подключается.
Изменено: Дмитрий Морозов - 19.01.2012 14:58:35
+ Профессиональная ГИС "Карта 2011" (версия 11)
+ ГИС "Оператор" для силовых структур (версия 11)
+ "Панорама АВТО"
+ ГИС Сервер 2011
+ ГИС WebServer x64
+ Мониторинг баз данных
В новом АПИ доступа к ГИС Серверу имеется возможность подключения к нескольким серверам одновременно. Документацию и примеры подправим.
Пока, для открытия данных сразу вызывайте метод MapGisServer.DoDlgOpenData (АПИ функция svOpenData).
Для коннекта к серверу и регистрации пользователя на сервере вызывайте svGetUserDataEx.
Т.е. я так понял что на данный момент я не могу подключиться к серверу не используя диалоги? И еще кстати, поставил гис сервер на локальный компьютер. Результат: через MapGisServer.DoDlgOpenData к серверу коннектится, но не открывает карту, но это уже другой вопрос....(имя открываемой карты видит как ?????????????t и поэтому не может открыть). ну а через mapSetConnectParameters() так и не выходит ничего... пробовал
Код
number:=mapSetConnectParameters(0,0,0);
number:=mapSetConnectParameters('localhost',0,0);
number:=mapSetConnectParameters('localhost',2047,0);
number:=mapSetConnectParameters('127.0.0.1',2047,0);
number:=mapSetConnectParameters('192.168.1.3',2047,0);

как и раньше возвращает 0!!!
Не могли бы вы привести какой нибудь простой пример с пошаговым подключением к серверу через апи, без диалогов?
+ Профессиональная ГИС "Карта 2011" (версия 11)
+ ГИС "Оператор" для силовых структур (версия 11)
+ "Панорама АВТО"
+ ГИС Сервер 2011
+ ГИС WebServer x64
+ Мониторинг баз данных
Страницы: 1 2 3 След.
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)


© КБ Панорама, 1991-2012