На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

GTK Экспорт в КML

Поиск  Пользователи  Правила  Войти
Форум » Общие вопросы » Конвертация данных
Страницы: 1
RSS
GTK Экспорт в КML, функции экспорта в kml
 
Здравствуйте!
Есть ли функция (в GTK) экспорта объектов из карты в kml формат,   реализующая функционал аналогичный диалогу в ГИС Панораме.
Обратные функции есть LoadKmlToMap,


Имею  "GIS ToolKit Free" v.13.1.1.2  
 
Добрый день.
Вы можете скачать примеры приложений sdk.
https://gisinfo.ru/download/?id=229
В библиотеке mapconv64.dll есть обратная функция Map2Kml (gisconv.h).
Изменено: Владимир Железняков - 23.03.2021 10:03:14
 
Спасибо Владимир!
sdk скачал (это для CBilder) к сожалению. Работаю на Delphi XE10.4

Но сделал пустой проект с формой на нее сразу положил TMapView для дальнейшего использования.
определил функцию
type

function Map2Kml(Map : HMap; parm :PTASKPARMEX) : integer;  {$IFNDEF LINUXAPI} stdcall {$ELSE} cdecl {$ENDIF} external 'mapconv64.dll';
( в uses добавил maptype для узнавания PTASKPARMEX)
в коде определил
ее вызов

var aParam: TTASKPARMEX;
  ref:Integer;
...
with aParam do
 begin
   Language  :=2;
   HelpName  :='';
   PathShell :=GtkPChar(ExtractFilePath(Application.ExeName));
   ApplicationName:=GtkPChar(Application.ExeName);
   Handle    :=Self.Handle;
   DocHandle :=MapView.MapHandle;
   StayOnTop :=1;
 end;
 ref:=Map2Kml(mvMap.MapHandle,@aParam);

и думал, что до вызова в коде уж дойду. Но нет проект валиться с АV (0x00...7b) не доходя даже до
Application.Initialize;

Проект делаю как Win32 Debug.
mapconv64.dll нашел в Панораме 13

-mapconv64.dll помещал в директорию с exe приложением
-приложение exe помещал в директорию с Панорамой, вместе с mapconv64.dll
результат AV

Имею на компе ключи GTK Free, Панорама13.
в  gisconv.h идет описание функции
long int WINAPI Map2Kml(HMAP hmap, TASKPARMEX * parm);
но в заголовке файла указано
что описываемые функции для

Импорт\Экспорт пространственных данных            *
*                        Библиотека gisconv.dll      

данной  dll или аналогичной (gis32conv) в GTK 13 нет

как же ей воспользоваться в Delphi?
 
Попробовал загрузить dll динамически

s_PathMain:=ExtractFilePath(ParamStr(0));
FdllName  :=s_PathMain+'mapconv64.dll';

hDll := LoadLibrary(PChar(FdllName));
получаю

"System Error. Code 193 %1 не является приложением Win32."

Попробовал то же самое но от Панорамы 11 т.е. 'mapconv.dll';
удачно.
выполнил инициализацию искомой функции
AddrProc:=GetProcAddress(hdll,'Map2Kml');
потребовала доступ к mapacces.dll
добавил от Панорамы 11

далее

 TMap2kml=function(AHandle :cardinal; parm :PTASKPARMEX):integer; stdcall;

var aParam: TTASKPARMEX;
   ref:Integer;
   hDll:THandle;
   AddrProc    : TFarProc;
   FdllName  :string;
   FMap2kml :TMap2kml;

 ...
 загрузка некоторой карты *.sitx в MapView
 ...

  InitTaskParmEx(aParam, MapView);
  FMap2kml := TMap2kml(AddrProc);
 и
  ref:=FMap2kml(MapView.MapHandle,@aParam);

АV в модуле mapacces.dll (что-то обращается к тому чего нет  0x0..00С5)
и появляется окно диалога из Панорамы 13  "Save map to kml format..."


Окно чистое без чего либо
Дальше ошибки уже видимо из-за разности версий

Что можно сделать что бы все было проинициализировано в окне (желательно без предварительного создания и заполнения ini файла) и это все было скрыт от пользователя и желательно
все в одной версии GTK Free 13 (для DelphiXE10)  + dll от Панорамы 13
или как?
Изменено: Денис Вицко - 08.06.2022 09:40:12 (исправил вставку картинок)
 
Дело в том, что sdk предназначено для написания приложений, функционирующих под управлением ГИС Панорама х64. Взять dll от Панорамы 13 и совместить их с ГИС-ядром GIS ToolKit не получится.
 
Тогда с учетом
Цитата
Andrey Gheleznyakov написал:
Дело в том, что sdk предназначено для написания приложений, функционирующих под управлением ГИС Панорама х64. Взять dll от Панорамы 13 и совместить их с ГИС-ядром GIS ToolKit не получится.
правильно ли я понимаю, что сейчас в GTK 13 ( v.13.1.1.2 +DelphiXE10) нет прямой функции типа Map2Kml (объекты карты в КML)?
 
Поняли правильно.
Страницы: 1
Читают тему (гостей: 1)



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

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности