Для экспорта карты в Geojson доработан компонент TMapDataConversion: Добавлены функция экспорта объектов карты по заданным условиям в файлы формата GML или GeoJson - LoadMapToGML. и функции экспорта/импорта данных карты с помощью диалогов:SaveMapToGML, SaveMapToKml, LoadGMLToMap, LoadKmlToMap. Пример использования данных функций предоставлен в \\Example\delphi\convert.
При данных установленных параметрах выгружается только метрика объектов. Прошу сообщить, какой параметр можно изменить, чтобы выгружалась и метрика и семантика объектов?
Параметр flags - флажки вывода расширенных метаданных об объекте.
Чтобы выгружалась и метрика и семантика объектов необходимо вместо integer(OSF_METRIC) задать значение переменной flags var flags : integer; .... flags := integer(OSF_METRIC) or integer(OSF_SEMANTIC);
Татьяна Софинова написал: flags := integer(OSF_METRIC) or integer(OSF_SEMANTIC);
Нам нужно одновременно выгружать и метрику и семантику в одном файле. При выгрузки из ГИС Панорама Экспорт в Geojson именно так это и происходит. В описании объекта есть и метрика и семантика.
Татьяна Софинова написал: Протестировала на примере \\Example\delphi\convert. Выгружается метрика и семантика при flags := integer(OSF_METRIC) or integer(OSF_SEMANTIC);
С вопросами на локальном компьютере вроде разобрались, но мы работаем с Panorama GIS Server версии 8.3
Прошу пояснить как в этом случаи будет формироваться строка для того, чтобы показать программе, что экспортируется именно текущая открытая карта с ГИС Сервера?
var nameXSD,metadata : string; targetfilename, str, schemaURL: string; res, epsgcode : integer; begin if (form_main.mvMap.Active = false) then begin ShowMessage('Карта не открыта!'); exit; end; str := ExtractFilePath(form_main.mvMap.MapFileName); metadata := ''; nameXSD := str +'Uzor.xsd';
epsgcode := 3857; res := mconv.LoadMapToGML(nameXSD,schemaURL,mvMap.MapHandle,1,0, metadata, 1,0,epsgcode,nil, integer(integer(OSF_METRIC) or integer(OSF_SEMANTIC)), integer(OST_JSON),targetfilename,'', -1, 0,0,'',0, nil); if res = 0 then ShowMessage('Экспорт не выполнен') else ShowMessage('Экспорт выполнен! ');
Для карты с ГИС Сервера необходимо передать в функцию LoadMapToGML входные параметры:
site : HSITE - идентификатор открытой пользовательской карты в документе schemafilename - путь к файлу XSD-схемы GML данных schemaURL - URL к файлу XSD-схемы GML данных , например, "http://www.gisinfo.net/bsd/topomap.xsd";