Необходимо обеспечить работу программного обеспечения с данными формата GML. В ПО "Панорама" есть импорт данных из формата GML, при котором создается новая карта формата SIT.
В GisToolKit есть GMLAPI. Однако, подробного описания его использования нет. По описанным методам в файле gmlapi.h получилось прочитать данные из файла формата GML:
Код |
---|
// Cоздание объектов из файла gml/xml
// hMap, hSite - идентификатор карты
// xmlname - имя входного файла gml/xml или файла gml OGC WFS
// protocol - признак ведения протокола ошибок в формате JSON (запрашивается gmlGetGmlReport)
// squareCode - код создаваемых площадей
// pointCode - код создаваемых точечных объектов
// lineCode - код создаваемых линий
// textCode - код создаваемых подписей
// hwnd - идентификатор окна для приема сообщений или ноль, посылаются сообщения WM_PROGRESSBAR
// Возвращает идентификатор данных HGMLCLASS, который
// должен быть освобожден функцией mapFreeGmlClassHandle
// При ошибке возвращает 0
_MAPIMP HGMLCLASS _MAPAPI gmlCreateObjectsFromXml(HMAP hMap, HSITE hSite, const WCHAR* xmlname,
long int squareCode, long int pointCode, long int lineCode, long int textCode);
|
Следующий метод вернул правильное значение объектов записанных в файле GML:
Код |
---|
// Запросить количество созданных объектов
// hGmlClass - идентификатор данных
// Возвращает количество созданных объектов
// При ошибке возвращает 0
_MAPIMP long int _MAPAPI gmlGetGmlCreateObjectsCount(HGMLCLASS hGmlClass);
|
Как прочитанные объекты нанести на карту?