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

Oleg Belenkov (Все сообщения пользователя)

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

Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 ... 411 След.
Конвертировать SXF в SITX
 
Например, этой функцией:[CODE] // Загрузить (импортировать) карту из файла SXF, TXF или DIR с
// использованием Select с преобразованием топокарты к зоне документа
// Файлы SXF и TXF могут хранить координаты в метрах, радианах или градусах
// hmap    - идентификатор открытой карты (рекомендуется указывать
//           для определения текущей зоны топокарты) или 0;
// sxfname - имя загружаемого файла типа SXF, TXF или DIR;
// rscname - имя файла классификатора, с которым загружается карта,
//           имя классификатора можно запросить из SXF (TXF) функцией GetRscNameFromSxf
//           или из карты; для файла DIR может быть 0;
// mapname - имя создаваемой карты (обычно совпадает с именем SXF (TXF))
//           или ноль или указатель на пустую строку (буфер
//           c нулевым байтом равным нулю) или указатель на папку для размещения
//           карты. Если имя карты не задано или задана только папка, то карта
//           создается с именем SXF (TXF) и расширением ".sit". Если namemap
//           указывает на буфер достаточной длины (size), то в буфер записывается
//           имя созданной карты;
//           Для файла DIR тип общей карты - MPT (проект данных, включающий все
//           открытые карты из DIR) или MAP (многолистовая карта);
// size    - длина буфера, на который указывает переменная namemap, или 0. Обычно длина
//           равна MAX_PATH_LONG (1024);
// handle  - идентификатор окна диалога, которому посылаются уведомительные
//           сообщения (HWND для Windows, CALLBACK-Функция для Linux);
// select  - фильтр загружаемых объектов и слоев, если необходима выборочная
//           обработка данных;
// frscfromsxf - значение флажка "разрешить использование
//               имени классификатора, указанного в файле sxf"
// typesit - тип создаваемых карт в проекте MPT при импорте DIR (1- SIT; -1- SITX)
// password - пароль для создания защищенного хранилища карты (SITX)
// psize    - длина пароля в байтах
// transform - признак необходимости трансформировать загружаемую карту в систему координат hmap
//             (если hmap и transform не равно 0)
// hevent    - адрес функции обратного вызова для записи в протокол ошибок выполнени программы
// eventparam - первый параметр функции обратного вызова
// Для добавления открытой карты в документ необходимо вызвать функцию
// mapAppendData(hmap, namemap). Если mapname содержит имя карты типа MAP и
// она содержит хотя бы один лист, то при импорте данных выполняется создание
// нового листа в карте MAP. В этом случае функция mapAppendData не должна вызываться.
// При ошибке возвращает ноль

_VECIMP long int _VECAPI ImportFromAnySxfProEx(HMAP hmap, const WCHAR * namesxf, const WCHAR * namersc,  WCHAR * namemap, long int size,
                                           HMESSAGE handle, HSELECT select, long int frscfromsxf, long int typesit, const WCHAR * password, long int psize,
                                           long int transform, EVENTLOG hevent, void * eventparam);[/CODE]typesit = -1;
maname - может указывать на имя файла с расширением sitx
Пользовательский текст подписи знака по семантике, Проблема изменения подписи при помощи семантики
 
В ГИС Оператор в Редакторе карты нанес знак с кодом 1314170040011 "Основной пункт базирования".
В диалоге Выбор объекта при создании знака заполнил семантику 5400 Произвольная надпись внутри знака.
Введенный текст стал отображаться, как часть знака по центру второй строкой.
Пересчет координат из пикселей в СК-42, Алгоритм пересчета координат из пикселей в СК-42
 
Зачем его производить? Почему не отображать Градусы, Минуты, Секунды или Условные координаты в метрах в проекции карты?

А) Потому, что так принято - чтоб на экране были какие-то СК-42.
Тогда выбирайте ближайший меридиан и пусть координаты скачут при переходе в другую зону.
Все равно их никто не понимает и не использует.

Б) Это нужно для передачи смежникам при решении общих задач.
Тогда, начальник (командир) принимает решение на организацию управления и взаимодействия со смежными подразделениями
исходя из территории, на которой решается задача (находятся подразделения). В приказе определяет в какой зоне (системе координат)
ведется взаимодействие. Ваша программа вводит указанное значение и выполняет пересчет в указанной системе координат (зоне).
mapSetBright
 
[CODE]mapSetSiteBright(hMap, hMap, bright);
mapSetContrast(hMap, hMap, contrast); [/CODE]
Аналоги mapPaintToXImage в версии 15 для более быстрого рендеринга
 
[QUOTE]Дмитрий написал:
Тем не менее, мнопоточное отображение нам нужно.
Очень похоже, что обнаруженный мной эффект является следствием ложного разделения  [URL=https://it.wikireading.ru/hhkq98Bo2w]https://it.wikireading.ru/hhkq98Bo2w[/URL] .
Проводилось ли вами тестирование многопоточного отображения с помощью функции mapPaintByFrameToXImagePro, убеждались ли вы, что это дает прирост производительности? Если нет, то я считаю, что вам нужно это сделать, иначе получается, что пункт 3.9.10 «Многопоточное отображение карт» Руководства программиста не соответствует действительности, и аргумент hpaint функции mapPaintByFrameToXImagePro не имеет смысла. Если да, то приведите, пожалуйста, пример, в котором многопоточное отображение с помощью функции mapPaintByFrameToXImagePro дает прирост производительности.[/QUOTE]
1) Многопоточное отображение не предназначено для повышения производительности отображения отдельного фрагмента карты.
Оно позволяет выполнять на настольном или мобильном клиенте параллельное отображение, поиск по карте, и другие операции,
которые в этом случае вместе выполнятся быстрее.
В серверном приложении оно позволяет выполнять запросы на отображение сразу от нескольких клиентов.

2) Любая функция Paint внутри себя многопоточна для тех видов данных, которые могут быть отображены в потоках - снимки, матрицы, тайлы с геопорталов.

3) Сравнивать производительность mapPaintToXImage и mapPaintByFrameToXImagePro имеет смысл при одинаковых условиях выполнения.
Прежде всего - это одинаковая территория в одинаковом масштабе (не только размер картинки).
mapPaintByFrame ... выполняет подбор масштаба по заданным размерам, выделение памяти под изображение, лишние копирования изображения.
Но это может дать замедление на десятки процентов, но не в разы.

4) Отображение одного фрагмента в несколько потоков без накладных расходов на потоки в идеале может дать процентов 20% ускорения
(удачное попадание участков фрагмента на разные элементы дерева кластеров). Но в целом размер области отображения (полный или 1/4) практически
не влияет на скорость отображения. Соответственно 4 потока выполняться с той же скоростью, что и один. Но за счет накладных расходов на потоки
и сборку картинки - будет дольше.
mapOpenMtrForMap+mapGetHeightValue, Не возможно получить высоту с помощью mapGetHeightValue
 
[URL=https://gisweb.ru/forum/messages/forum2/topic13956/message101486/13956-pereschet-koordinat-iz-pikseley-v-sk_42#message101486]https://gisweb.ru/forum/messages/forum2/topic13956/message101486/13956-pereschet-koordinat-iz-piksel...[/URL]

- может эти сообщения будут полезными.
Пересчет координат из пикселей в СК-42, Алгоритм пересчета координат из пикселей в СК-42
 
Нужно читать ответы и пытаться их понять.
[CODE]Систем координат 42 года всего 60 штук - по числу зон.
Поэтому нужно сначала решить в какой зоне нужны координаты.

Зону можно определить по ближайшему осевому меридиану или установить некоторое значение с учетом решаемой задачи.
Расчеты  в зоне могут корректно выполнятся в пределах +/- 2 - 3 (две - три) зоны  от осевого меридиана. 1 зона - 6 градусов. 1 градус условно 100 км (на  экваторе примерно 111 км).
Условно 600 км по долготе с осевым меридианом в центре.[/CODE]
Если у Вас весь мир - то при чем тут СК-42?
Нет ее на весь мир.
Не работает mapGetRscClassCount, Вызов функции mapGetRscClassCount
 
Карты, загружаемые из OSM, с помощью классификатора map5000m.rsc (rscz).

/data/noginsk
Карты в разделе Скачать.
Установка GISWebService SE с целью ознакомления
 
Правильно.
Можно применять компонеты на JS, входящие в состав GIS WebToolKit,
для взаимодействия с GIS WebServiceSE (в принципе и с другими сервисами по протоколам OGC)
в своем web-приложении без GIS WebServerSE.

GIS WebServerSE имеет дополнительные компоненты и инструменты, которые расширяют клиентский функционал.
Зависания при многопользовательском режиме
 

1) Сообщение на ГИС Сервере:

---> 12:35:41   [010] Diagnostics: Read socket error. An existing connection was forcibly closed by the remote host

Это сообщение говорит о том, что клиентское приложение завершилось не закрывая штатно соединение.

Как вариант, в конце работы приложения нужно использовать функцию:

[CODE]// Освободить ресурсы ядра перед закрытием приложения и
// выгрузкой (FreeLibrary) библиотеки "gis64acces"

_MAPIMP long int _MAPAPI mapCloseMapAccess();[/CODE]

2) Сообщение на клиенте:

    10:16:45    2e48 TFileCache::WriteBlock. offset - 2000, size - 4096

---> 10:16:45    2e48 TFileCache::WriteBlock error. offset isn't begin block - 2000

Это сообщение говорит об ошибке синхронизации состояния данных в кэш клиента с сервером.

После обновления версии (сейчас ГИС Сервер 9 и клиент 14) сервера и клиента таких сообщений не будет.

3) Сообщение на клиенте:

>>>> 12:01:16    ...TPaintControl::ShowList Show list error.Object chain break.Object number = 0, objectcount = 296  

Это сообщение говорит об ошибке последовательности отображаемых объектов.

Возникает в следствие ошибки из сообщения 2. В новых версиях такая ситуация не может возникнуть в принципе.

4) Сообщение на клиенте:

>>>> 09:55:25    600 Обработчик ошибок - Идентификатор обновляемого объекта и идентификатор в файле не согласованы - Update Object

Это сообщение говорит, что с клиента пришел объект для обновления, но он не соответствует состоянию данных на сервере.

Возникает в следствие ошибки из сообщения 2.

5) Сообщение на клиенте:

Обработчик ошибок - Ошибка открытия или доступа - ALIAS#... #DOC#_LOCAL_#...

Это сообщение говорит о том, что ГИС Сервер не понимает эту команду (не может найти документ).

После обновления версии (сейчас ГИС Сервер 9 и клиент 14) сервера и клиента таких сообщений не будет.

Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 ... 411 След.



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

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