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

Денис Вицко (Все сообщения пользователя)

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

Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 ... 142 След.
Экспорт в формат MPT
 
[QUOTE]Александр Махин написал:
не могу понять куда сохраняется каталог с MPT файлом??[/QUOTE]

Не совсем понял, про какой каталог идет речь?
[B]При сохранении MPT указывается полный (абсолютный) путь. [/B]

Есть нюанс при формировании путей к пространственным данным внутри MPT.
[B]Все карты, расположенные в том же каталоге, где и файл MPT или ниже по (в поддиректории), будут зарегистрированы в MPT по относительному пути.[/B]
Соответственно, директорию с MPT и всеми данными внутри безболезненно перемещать, - MPT будет работать.
[B]А вот карты лежащие вне каталога с MPT запишутся в MPT с абсолютным путем.[/B] То есть переместить папку с данными не получится - MPT их больше не найдет при открытии.
Версия сертифицированного ГИС Оператор SE, Версия сертифицированного ГИС Оператор SE
 
[QUOTE]Сергей Осокин написал:
Удалил все файлы из кэша и ошибка больше не проявляется. Не пойму только причину, по которой она проявилась.[/QUOTE]

Скорее всего вначале был запуск под более высокой мандатной меткой, файлы создались, и впоследствии при запуске под другой меткой не перезаписывались.
Такие ситуации помогает выявить расширенный журнал диагностики.
То, что Вы присылали в виде скриншотов на почту, - это обычный журнал работы.
Вывод диагностических сообщений включается отдельно в настройках (см. рис.). Держать его постоянно включенным не стоит, используйте его в случае сбоев.
[IMG]https://i.postimg.cc/qR5RDHyt/2023-12-26-103601480.png[/IMG]
Экспорт в формат MPT
 
Добрый день!

Описание формата MPT приведено в документе [URL=https://gistoolkit.com/download/doc/mapapi.pdf#page=12]ПАРБ.00046-06 Прикладные задачи. Разработка новых модулей (см. раздел 2.6)[/URL].

Функция [B]mapSaveProjectUn [/B]как раз и предназначена для того, чтобы [B]у Вас не было необходимости вникать в формат INI-файла[/B].
Эта функция сама сохранит MPT проект, куда включит все данные, которые у Вас открыты в HMap, с сохранением порядка слоев и их отображения (прозрачность, палитра и т.д.).

Затем MPT можно открывать как обычную карту.

Однако, надо понимать, что MPT - это просто объединение данных, не сами данные, и, тем более, не фрагменты этих данных, вырезанные по какой-то области.
MPT хранит в себе ссылки на источники данных.
При открытии MPT у Вас просто в нужном порядке и с нужными настройками откроются записанные в нем данные.

Есть другой формат проекта - MPTZ. Это уже проект, который хранит данные внутри себя. Но после помещения данных в MPTZ они становятся нередактируемыми.
Формируется такой проект функцией
[QUOTE] // Сохранить список открытых наборов данных, их свойства и упакованные наборы данных
 // в проекте данных MPTZ
 // В проект сохраняются упакованные векторные карты (SITZ\MAPZ), сжатые растры RSW и
 // сжатые матрицы MTW, MTQ
 // hmap - идентификатор открытых данных
 // name - имя файла проекта MPTZ
 // savefromserver - признак копирования в MPTZ наборов данных с ГИС Сервера,
 //        если есть права на их копирование
 // При ошибке возвращает ноль

_MAPIMP long int _MAPAPI mapSaveZipProjectUn(HMAP hMap, const WCHAR * name, long int savefromserver);[/QUOTE]

И в случае с MPT, и в случае с MPTZ обрезка данных по области не выполняется.
[B]Контекст того, что Вы сохраняете как проект, Вам необходимо подготовить самостоятельно[/B]: открыть совместно определенные данные, настроить их отображение, вырезать по области и т.д.
Версия сертифицированного ГИС Оператор SE, Версия сертифицированного ГИС Оператор SE
 
Добрый день!

Письмо получили, но два скриншота не загружаются (20231225_090438[1].jpg и 20231225_090448[1].jpg не открываются и не скачиваются, прикреплены как ссылки в облако mail.ru, но недоступны).

У Вас настроена мандатная политика. Это новая вводная.

Судя по тем скриншотам, что удалось посмотреть, с таблицей и с журналом всё в порядке: идентификаторы записей уникальны и целочисленные, и корректно регистрируются в журнале.

Вот как обрабатывается файл dbm при использовании таблицы-журнала изменений в БД:
1. При первом открытии данных формируется карта-кэш и все записи исходной таблицы переносятся в нее. При этом фиксируется номер крайней транзакции БД на момент чтения данных.
2. Далее с интервалом, указанным в настройках dbm, производится обращение к БД с запросом выдачи тех записей, которые были добавлены (1), изменены (2) или удалены (3) после зафиксированного ранее номера транзакции.
3. После обработки номер обработанной транзакции снова запоминается для использования в следующей итерации.

Для возможности возобновления процесса работы по журналу номер обработанной транзакции записывается в служебный файл *.dbtime, который находится в директории с картой-кэшем на ГИС Сервере.
Если файл *.dbtime отсутствует, то выполняется полня очистка карты-кэша и заполнение ее заново.

В Вашем случае задваивание объектов может быть вызвано какой-то из следующих причин:

1. Пользователь, от имени которого запущен ГИС Сервер, не может перезаписать файл *.dbtime (не хватает прав, уровня доступа или еще по каким-то причинам). При этом такой файл существует - он мог быть создан, если ГИС Сервер запускался от другого пользователя или на другом уровне.

2. Пользователь, от имени которого ГИС Сервер подключается к БД, не может получить номер текущей транзакции, из-за чего ГИС Сервер каждый раз обрабатывает журнал изменений с самого начала (а там ваши записи числятся как новые).

п.1 проверить можно следующим образом: авторизуйтесь на ПК с ГИС Сервером под тем же пользователем и на том же уровне, что и ГИС Сервер, и попробуйте удалить файл *.dbtime рядом с картой-кэшем (желательно на это время приостановить службу ГИС Сервера).
п.2 проверить можно следующим образом: например, в pgAdmin или в psql подключитесь к БД от имени того же пользователя и на том же уровне, как к БД подключается ГИС Сервер (как настроено соединение для dbm), и попробуйте запросить идентификаторы транзакций - выполните следующие запросы и убедитесь, что они возвращают не пустые значения:
[CODE]select txid_snapshot_xmin(txid_current_snapshot());
select txid_current();[/CODE]

В любом случае нам необходимо проанализировать расширенный протокол работы ГИС Сервера.
Версия сертифицированного ГИС Оператор SE, Версия сертифицированного ГИС Оператор SE
 
[QUOTE]Сергей Осокин написал:
Здравствуйте! Столкнулся с такой проблемой. При отображении данных из СУБД (Postgres/Postgis) при каждом последующем открытии карты объекты налагаются друг на друга. Т.е. в таблице у меня 5 записей. При первом открытии показывает все правильно - количество объектов 5. При втором открытии количество объектов уже 10, при третьем - 15, при четвертом - 20 и т.д.[/QUOTE]

Добрый день!
Наиболее вероятной причиной такого поведения может быть:
1. неуникальность значений ключевого поля "id" (<ident field="id"/>), либо несоответствие данных в этом поле установленным требованиям - поле должно содержать только положительные целочисленные значения до 4 байт.
2. некорректная работа триггерной логики ведения журнала изменений public.pgis2map_dbchanges_log.

Проверьте п.1.
Покажите, что содержится в public.pgis2map_dbchanges_log для таблицы am8.globus_op_military_alient.

Просьба повторить ситуацию с включенным журналом диагностики на ГИС Сервере и прислать этот журнал нам.
Нелегальная копия модуля – gis32acces.dll, Ошибка возникает при попытке открыть карту в 1С (снимок экрана прилагается)
 
см. "[URL=https://www.gisweb.ru/forum/forum2/11726-faq]Часто задаваемые вопросы (FAQ)[/URL]" -[URL=https://gisweb.ru/forum/messages/forum2/topic11726/message89818/11726-faq#message89818] раздел Лицензирование - Разработка собственных ГИС-приложений (что означает приставка Free)[/URL]
Система координат карты
 
Добрый день!

[QUOTE]_Alex_ написал:
то это мы перевели работу карты на систему координат WGS-84[/QUOTE]

нет. не верно!

mapSetCurrentPointFormat влияет только на отображение, точнее получение координат в виде "красивой" строки с помощью mapPlaneToPointFormatStringPro и пр. функций.

Функция mapGetPrecisionHeightTriangle требует на вход координаты в метрах в СК карты.

[QUOTE] // Расчет абсолютной высоты методом треугольников в заданной точке
 // по матрице с наименьшим размером элемента (более точной).
 // В матрицах обрабатываются нормальные высоты
 // Высота вычисляется по самой точной матрице высот,а в случае
 // необеспеченности заданной точки данными матриц высот -
 // по самой точной матрице слоев.
 // hMap   - идентификатор открытой основной векторной карты
[B] // Координаты точки (x,y) задаются в метрах в системе координат
 // векторной карты. Возвращает значение высоты в метрах.[/B]
 // hPaint - идентификатор контекста отображения для многопоточного вызова функций,
 //          создается функцией mapCreatePaintControl, освобождается - mapFreePaintControl
 // В случае ошибки при выборе высоты и в случае необеспеченности
 // заданной точки матричными данными возвращает ERRORHEIGHT (-111111)

_MAPIMP double _MAPAPI mapGetPrecisionHeightTriangle(HMAP hMap, double x, double y);
_MAPIMP double _MAPAPI mapGetPrecisionHeightTriangleEx(HMAP hMap,double x, double y, HPAINT hPaint);[/QUOTE]

Если у Вас исходные координаты в градусах в WGS-84, то необходимо их перевести в радианы, а затем пересчитать в метры:

[QUOTE] // Преобразование из геодезических координат в радианах (общеземной эллипсоид WGS84)
// в метры на местности в проекции карты (поддерживается не для всех карт)
// hmap  - идентификатор открытых данных
// Bx,Ly - преобразуемые координаты, на входе радианы, на выходе - метры
// H     - НОРМАЛЬНАЯ (ортометрическая) высота в точке (метры), не пересчитывается
// При ошибке возвращает ноль

_MAPIMP long int _MAPAPI mapGeoWGS84ToPlane3D(HMAP hmap, double *Bx, double *Ly, double *H);[/QUOTE]
Добавление Sitx на MapView используя TFileStream, Возможность использования TFileStream
 
[QUOTE]Andrey Prohorov написал:
Денис Вицко, Спасибо за пример, карта в буфере отличная идея, но можно ли тоже самое провернуть с rsw, чтобы открыть его в буфере? Просто пытаюсь понять как можно защитить RSW от посторонних пользователей.[/QUOTE]

Вы растр сами создаете? Иначе у Вас всё равно будет исходный растр в виде файла.
[B]Наиболее правильным способом защиты данных от несанкционированного доступа является их размещение на ГИС Сервере.[/B]
1С8.3 и GIS ToolKit Active: Выделение объектов, Интеграция GIS ToolKit Active в 1С8.3 Выделение объектов
 
Метод SelectSample добавляет конкретно указанный объект в список найденных. На него не распространяются условия заданные в MapFind. Вы просто говорите, что какой-то конкретный объект должен попасть в результаты выборки вместе с теми, что отвечают заданным условиям.
Пример использования SelectSample в 1С есть в составе инсталляции:
Скрытый текст



Не ясно, что Вы хотите получить "двойным" поиском, если в итоге Вам нужен один объект.

Если Вам требуется выделить на карте один конкретный объект, который Вам известен, выполнять еще раз его поиск с помощью MapFind не требуется.
У MapObj есть метод, позволяющий настроить его на известный Вам объект - MapObj.SeekObject.
пример также есть в инсталляции:
Скрытый текст
[ Закрыто] FAQ, часто задаваемые вопросы
 
[B]Системные требования для разрабатываемых приложений и прикладных задач | Общие вопросы[/B]

При определении системных требований для приложений, разрабатываемых на основе геоинформационного ядра "Панорама" с помощью интерфейса MAPAPI и/или инструментариев [URL=https://gisinfo.ru/products/gistool_win.htm]GIS ToolKit[/URL] или [URL=https://gisinfo.ru/products/gistool_active13.htm]GIS ToolKit Active[/URL], рекомендуется ориентироваться на системные требования ГИС «Панорама x64» - см. документ Описание применения ([URL=https://gistoolkit.com/download/doc/pandescription.pdf#page=5]Windows[/URL], [URL=https://gistoolkit.com/download/doc/pandescriptionlin.pdf#page=5]Linux[/URL]).

Для выполнения каждого отдельного экземпляра приложения, разработанного на основе основе геоинформационного ядра "Панорама", рекомендуется предусмотреть не менее 4Гб оперативной памяти.

Прикладные задачи, предназначенные для функционирования "внутри" [URL=https://gisinfo.ru/products/map12_prof.htm]ГИС «Панорама x64»[/URL] или [URL=https://gisinfo.ru/products/gisoperator.htm]ГИС «Оператор»[/URL], наследуют системные требования этих продуктов и разрабатываются на основе соответствующего SDK.

Дополнительные системные требования определяются исходя из специфики разрабатываемого приложения или прикладной задачи.
Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 ... 142 След.



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

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