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

Владимир Егоров (Все сообщения пользователя)

Поиск  Пользователи  Правила  Войти
Форум » Пользователи » Владимир Егоров
Выбрать дату в календареВыбрать дату в календаре

Страницы: Пред. 1 ... 5 6 7 8 9 10 11 12 13 14 15 ... 21 След.
[MAPAPI] Работа с форматом bir, [MAPAPI] Работа с форматом bir соответствие обычным форматам MAP/RSW/SIT/MTW.
 
С архивом сейчас попробую. На почту пришлю.
C гео порталом я не работал, может быть mapOpenData и не должна открывать ничего кроме terrain.
[MAPAPI] Работа с форматом bir, [MAPAPI] Работа с форматом bir соответствие обычным форматам MAP/RSW/SIT/MTW.
 
Здравствуйте.

Начал разбираться с форматом bir.
Согласно документу с описанием формата, который есть у меня (не знаю насколько он последний/актуальный), карты bir бывают 4-х типов:

[QUOTE]

* Допустимые классы набора данных:

imagery Фотографии земной поверхности (космические снимки, аэрофото)

map Карты

overlay Накладываемые прозрачные слои (как правило, картографические)

terrain Цифровые матрицы рельефа

[/QUOTE]

И поддерживают три формата тайлов:

[LIST]
[*]png
[*]jpg
[*]hmp
[/LIST]

Вопрос 1.

Поддерживаются ли все классы и форматы в gisdesinger  (функция mapOpenData)?

Вопрос 2.

Каким типам обычных форматов соответствуют описанные выше классы?
Ну то есть для terrain - я могу работать с ними как с матрицами высот (mwt)? То есть добавлять к основной карте и снимать данные по высотам после этого.

imagery - это как растры rsw? Я смогу накладывать их на векторные карты?
map - это аналог векторных карт? то есть основной подложки?
overlay - это как растры rsw? Или скорее sit - пользовательские слои?


Я смогу открыть bir как основную карту, но мне интересно как с ними работать когда bir не основная карта, а, например, растровая информация или матрица рельефа местности.
У меня просто есть интерфейс для работы со всеми поддерживаемыми форматами - IMapProjectAccess, у которого есть метод open,
внутри которого в зависимости от типа файла создаётся конкретная обёртка над каждым типом карт - для растровых/матричных/векторных многолистовых/пользовательских слоёв,
и хотелось бы в каждую такую обёртку добавить поддержку формата bir, в зависимости от класса bir, то есть для terrain я видимо буду добавлять поддержку в класс для матричных данных (с возможностью получения данных о высоте/качестве в точке) и т.п.

У меня есть пример матрицы рельефа в формате bir (шёл в поставке в примерах, открывается), и примеры bir класса imagery (png, 30Gb, не смог открыть через mapOpenData), класса overlay (png, 6Gb, открылся в mapOpenData), класса terrain (со странным форматом terrain вместо hmp, не смог открыть через mapOpenData). Открывать пробовал пока только на хосте, на последней версии gisdesginer14.4.



[MAPAPI] Параметр функции mapBuildMtw, [MAPAPI] Параметр функции mapBuildMtw обработчик сообщений о прогрессе handle
 
Ладно.

Может там хотя бы пометку в комментариях сделать что в Linux в качестве handle можно функцию отдавать?
[MAPAPI] Параметр функции mapBuildMtw, [MAPAPI] Параметр функции mapBuildMtw обработчик сообщений о прогрессе handle
 
В функции построения матрицы высот из mtrapi.h:

[CODE] // Построение матрицы по векторной карте на заданный участок района работ
 // При ошибке возвращает ноль
 // hMap    - исходная карта для построения матрицы
 // mtrname - полное имя создаваемой матрицы
 // filtername - полное имя фильтра объектов
 //   Вместе с картой может располагаться фильтр объектов -
 //   текстовый файл MTRCREA.IMH, содержащий перечень кодов
 //   объектов, используемых при построении матрицы (см. MAPAPI.DOC)
 // Если filtername равно нулю - фильтр объектов не используется
 // mtrparm - параметры создаваемой матрицы,
 // handle   - идентификатор окна диалога, которому посылаются
 // сообщения о ходе процесса :
 //   0x0581 - сообщение о проценте выполненных работ (в WPARAM),
 //   если процесс должен быть принудительно завершен, в ответ
 //   должно вернуться значение 0x0581.
 // Если handle равно нулю - сообщения не посылаются.
 // Параметр LPARAM (не равный 0) сообщения о ходе процесса содержит номер
 // этапа построения матрицы :
 //   1 - Заполнение матрицы абсолютными высотами объектов
 //   2 - Обработка объектов гидрографии с постоянной высотой
 //   3 - Обработка объектов гидрографии с переменной высотой
 //   4 - Обработка точечных объектов с абсолютной высотой
 //   5 - Определение минимальной и максимальной высоты
 //   6 - Вычисление незаполненных элементов матрицы
 //   9 - Заполнение матрицы относительными высотами объектов
 //   10 - Создание матрицы выполнено
 //   11 - Создание матрицы не выполнено
 //   13 - Обработка пустых замкнутых горизонталей
 //   14 - Вычисление элементов матрицы по сетке высотных точек
 //   15 - Построение сетки треугольников по высотным точкам
 //   16 - Сжатие матрицы
 //   17 - Вычисление высот по трехмерной метрике площадных объектов

_MAPIMP long int _MAPAPI mapBuildMtw(HMAP hMap, const char *mtrname, const char *filtername,
                                    BUILDMTW *mtrparm, HWND handle);
[/CODE]
функция принимает в качестве параметра handle HWND вместо HMESSAGE.

То есть для возможности вызова данной функции в предыдущем проекте мне приходилось писать такое:

[CODE]#define HWND HMESSAGE

_MAPIMP long int _MAPAPI mapBuildMtw(HMAP hMap,
                                    const char * mtrname,
                                    const char * filtername,
                                    BUILDMTW * mtrparm,
                                    HWND handle);

#undef HWND[/CODE]
Мне казалось что я писал уже про это. Хотя может думал что писал а сам забыл, как обычно =)

P.S. я пару месяцев не обновлял пакет gisdesigner с сайта, может это уже не актуально.
Работа с несколькими листами карты
 
Мне кажется Дмитрий называет листами пользовательские (sit) карты, а не листы многолистовых векторных карты (которые Sheet)
Изменено: Владимир Егоров - 15.10.2018 17:24:06
Сохранение карты с набором пользовательских карт
 
Файлы проектов карт видели? MPT которые (Map Project)
Поиск наличия расхождения координат
 
[QUOTE]Обработку сообщений при импорте SXF можно посмотреть в исходных текстах проекта MAPVECTR в SDK[/QUOTE]
Там ссылка битая, я не стал искать по названию на странице загрузок продуктов, а так да, наверное можно =)

WParam и LParam я путаю, у меня просто сигнатура функции в mapsyst.h описана вот так:
[CODE] typedef long int (* MSGHANDLER)
   (long int hwnd, long int code, long int p1, long int p2, long int typemsg);  // Обработчик сообщений
[/CODE]WParam и LParam это видимо из WINAPI, я в нём не разбираюсь, получается p1 - это WParam, а p2 - LParam. Во всех комментариях к функциям, примнимающим обработчик сообщений описываются wparam и lparam (при наличии в них данных), нигде не пишется p1 или p2 - это сбивает с толку.
Поиск наличия расхождения координат
 
Да, так и есть.


[CODE][11:27:27.207 isup3.gis.io/D]: loadInfoAboutSxf "/home/vegorov/testsMaps/map/ashuluk_100/l3905.sxf" "5244882.403652309" "9575582.638438566"
[11:27:27.207 isup3.gis.io/D]: loadInfoAboutSxf "/home/vegorov/testsMaps/map/ashuluk_100/l3905.sxf" "5319005.203713541" "9574626.201902006"
[11:27:27.207 isup3.gis.io/D]: loadInfoAboutSxf "/home/vegorov/testsMaps/map/ashuluk_100/l3905.sxf" "5320457.413100990" "9649250.046469074"
[11:27:27.207 isup3.gis.io/D]: loadInfoAboutSxf "/home/vegorov/testsMaps/map/ashuluk_100/l3905.sxf" "5246337.727786977" "9651163.424455985"
[11:27:27.207 isup3.gis.io/D]: loadInfoAboutSxf "/home/vegorov/testsMaps/map/ashuluk_100/l3905.sxf" "5244882.403652309" "9575582.638438566"
...
[11:27:27.223 isup3.gis.io/D]: onMsg 0 1411 0 139817826297712 0
[11:27:27.223 isup3.gis.io/D]: Данные: "0x9a 99 99 59 c2 4b 54 41 22 3f 70 5a c2 4b 54 41 "
[11:27:27.223 isup3.gis.io/D]: Double[0] "5320457.400000000" Double[1] "5320457.413100990"
...
[11:27:27.223 isup3.gis.io/D]: onMsg 0 1411 0 139817826297712 0
[11:27:27.223 isup3.gis.io/D]: Данные: "0xcd cc cc 6c 60 3 54 41 d4 f 94 6e 60 3 54 41 "
[11:27:27.223 isup3.gis.io/D]: Double[0] "5246337.700000000" Double[1] "5246337.727786977"
...
[11:27:27.223 isup3.gis.io/D]: onMsg 0 1411 0 139817826297712 0
[11:27:27.223 isup3.gis.io/D]: Данные: "0x33 33 33 d3 93 43 62 41 b7 16 6e d4 93 43 62 41 "
[11:27:27.223 isup3.gis.io/D]: Double[0] "9575582.600000000" Double[1] "9575582.638438566"
...
[11:27:27.223 isup3.gis.io/D]: onMsg 0 1411 0 139817826297712 0
[11:27:27.223 isup3.gis.io/D]: Данные: "0x33 33 33 43 8c 67 62 41 b6 ac 7c 41 8c 67 62 41 "
[11:27:27.223 isup3.gis.io/D]: Double[0] "9649250.100000000" Double[1] "9649250.046469074"
...
[11:27:27.223 isup3.gis.io/D]: onMsg 0 1411 0 139817826297712 0
[11:27:27.223 isup3.gis.io/D]: Данные: "0xcd cc cc 6c 7b 68 62 41 b8 24 95 6d 7b 68 62 41 "
[11:27:27.223 isup3.gis.io/D]: Double[0] "9651163.400000000" Double[1] "9651163.424455985"
[/CODE]
Изменено: Владимир Егоров - 10.10.2018 14:34:39
Поиск наличия расхождения координат
 
Там два double, похожие на широту/долготу углов рамки листа, возможно одно значение это рассчитаное по номенклатуре, а второе - указанное в паспорте.
Поиск наличия расхождения координат
 
[QUOTE]Если не секрет - что идёт для WM_ERRORCOORD в WParam?[/QUOTE]
Мне тоже очень интересно. Думал что там строка - но нет, попытки распарсить её в QString  как UTF-8, UTF-16, KOI8-R или CP-1251 ни к чему понятному не привели. Там адрес какой-то структуры ?
Страницы: Пред. 1 ... 5 6 7 8 9 10 11 12 13 14 15 ... 21 След.



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

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