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

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

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

Страницы: Пред. 1 ... 4 5 6 7 8 9 10 11 12 13 14 ... 412 След.
Неадекватная работа функции mapWhatObjectBySelect с площадными объектами при большом frame
 
Функции типа mapWhatObject предназначены только для выбора объекта в окрестности точки с учетом текущего масштаба отображения.
При смене масштаба результат выборки меняется с учетом видимости объектов и порядка их отображения.
При этом размеры области в пикселах (с учетом масштаба отображения) не могут быть больше размеров экрана.

Для поиска по прямоугольной области можно применять функции поиска (например, mapSeekSiteSelectObject) и устанавливать область через функцию:

[CODE] // Установить в контексте параметры поиска объектов по прямоугольной области
 // hselect - контекст поиска об'ектов
 // dframe  - габариты области поиска в метрах
 // distance - расстояние поиска в метрах (симметрично расширяет область dframe)
 // filter  - учитывать/не учитывать(1/0) фильтр объектов,
 //           параметры фильтра должны быть установлены заранее в контексте поиска
 // inside  - границы поиска объектов по области :
 //           1 - внутри области, 2 - целиком внутри области, 0 - по расстоянию
 // visible - с учетом/без учета (1/0) видимости объектов на карте
 // action   - порядок поиска объектов :
 //            0 - последовательный поиск по мере запроса объектов,
 //            1 - предварительный многопоточный отбор всех объектов
 //            (главному окну приложения посылается WM_PROGRESSBARUN - maptype.h),
 //            ускоряет многократный запрос отобранных объектов
 // При ошибке возвращает ноль

_MAPIMP long int _MAPAPI mapSelectSeekAreaFrame(HSELECT hselect, DFRAME *dframe, double distance = 0.0, long int filter = 0, long int inside = 1, long int visible = 0, long int action = 0);[/CODE]
Дополнительная информация есть здесь -
[URL=https://gistoolkit.com/download/doc/mapapi.pdf]https://gistoolkit.com/download/doc/mapapi.pdf[/URL]
terrplan.v5.rscz terrplan.v6.rscz
 
В описании объекта Направление цифрования указано Объект слева. Что соответствует условному знаку.
Для схемы территориального планирования это не принципиально, конечно.
Но в цифровой картографии для площадных объектов есть еще правило - Справа выше.
Участки недр, предоставленных для добычи полезных ископаемых - это скорее карьеры и скважины (хотя могут быть и терриконы).

При нанесении нового объекта он автоматически разворачивается в соответствии с описанием в классификаторе. Помнить о том, как нужно наносить не требуется.
При импорте данных из других форматов можно выполнить прикладную задачу Контроль качества векторной карты для автоматического исправления направления цифрования.
GIS WebServiceSE для Linux, ГИС Сервер x64 для Linux. а ГИС "Панорама" на Windows Возможно ли это?, GIS WebServiceSE для Linux, ГИС Сервер x64 для Linux. а ГИС "Панорама" на Windows Возможно ли это?
 
В течении 30 дней можно обменять любой продукт. Если необходим больший период времени для принятия решения - можно сообщить об этом при приобретении продукта.
Но для серверных продуктов мы рекомендуем Linux-платформу, как более надежную и производительную. Особенно - для GIS WebService SE.
Никаких проблем с поддержкой Windows-клиентов нет, включая кросс-платформенную поддержку ActiveDirectory.
Ошибка при массовом нанесении объекта типа Подпись на карту, mapCreateSiteObject
 
[QUOTE]Запустили под отладчиком,
ошибку выдает стабильно.
Подскажите, что можно из сообщений отладчика понять,
почему программа слетает?[/QUOTE]
Если я правильно понял картинку 1 в ответе #3, то вылет на функции Delhi - IntToStr(k) на чтении k по адресу D4
Это похоже на ошибку стека. Например, переполнение локальными переменными в функции или переполнение строки в локальной переменной и т.п.
Установление масштаба карты в соответствие с фактическим
 
[QUOTE]Денис Якушин написал:
Добрый день, я работал в Профессиональной ГИС Панорама, при создании
карты указывал масштаб 1:500 и он соответствовал указанному. Сейчас при работе
с АРМ кадастрового инженера 15 версии при создании карты указываешь масштаб
1:500, карта создается. Один и тот же объект, в профессиональной ГИС масштаб
соответствует указанному, тогда как в АРМ фактически масштаб 500, а внизу карты
указан как 1:200. Все параметры у программ проверил, одинаковы, помогите
устранить несоответствие указанного масштабу фактическому.
[/QUOTE]
Если под словом "фактический" имеется в виду масштаб изображения на экране, то его настройка выполняется в меню Параметры/Параметры экрана.
Главное поле - Размер экрана (мм) - это длина диагонали области отображения экрана.
Коэффициент увеличения - если стоит 100, то масштаб не искажается.
Отображение матрицы высот при добавлении к карте
 
mtrapi.h[CODE] // Запросить/Установить порядок отображения матрицы
 // hMap -  идентификатор открытых данных
 // number - номер матрицы в списке открытых матриц
 // order  - порядок (0 - под картой, 1 - над картой)
 // При ошибке возвращает ноль

_MAPIMP long int _MAPAPI mapSetMtrViewOrder(HMAP hMap, long int number, long int order);
_MAPIMP long int _MAPAPI mapGetMtrViewOrder(HMAP hMap, long int number);[/CODE]
Древние классификаторы, Классификаторы старых годов выпуска (до 1997 года)
 
В разделе Скачать для этого есть версия -
[URL=https://gisinfo.ru/download/?id=22]https://gisinfo.ru/download/?id=22[/URL]
Объект "Занимает район" не меняет цвет
 
operator.rscz сформировали по ошибке. Классификатор rsc общий для разных версий, начиная с 11, где нет поддержки rscz.
Поиск объекта, ближайшего к заданному
 
[QUOTE]Есть ли функция mapapi проверки карт и их восстановления?[/QUOTE]
Есть функции, описанные в cntapi.h

Например:
[CODE]//*****************************************************************
//     ФУНКЦИИ ИСПРАВЛЕНИЯ МЕТРИКИ ОБЪЕКТОВ ВЕКТОРНОЙ КАРТЫ
//*****************************************************************
//
//  Данные функции предназначены для упрощения метрики объектов:
//   - удаление двойных точек, выбросов, самопересечений;
//   - преобразование мультилиний в простые линейные;
//   - преобразование мультиполигонов в простые площадные объекты;
//
//*****************************************************************

// Исправить объект
//   obj  - обрабатывемый объект
//   parm - параметры обработки
// Если Site2 = Site и Map2 = Map - обработанные объекты записываются в ИСХОДНУЮ карту,
//                          иначе - в НОВУЮ карту (Map2, Site2) с нарезкой на листы
// Если Site3 = Site и Map3 = Map - ошибочные объекты записываются в ИСХОДНУЮ карту,
//                          иначе - в карту ОШИБОЧНЫХ объектов (Map3, Site3)
// При обработке линейного объекта выполняется:
//   1) удаление двойных точек в указанном допуске (parm.Precision);
//   2) преобразование мультилиний в простые линейные (с добавлением новых объектов);
//   3) разрезание контуров в точках примыкания (с добавлением новых объектов);
//   4) удаление выбросов;
//   5) удаление начальных и конечных совпадающих отрезков.
// При обработке площадного объекта выполняется:
//   1) удаление двойных точек в указанном допуске (parm.Precision);
//   2) удаление выбросов;
//   3) смещение точек близких и примыкающих отрезков;
//   4) разрезание контуров в точках примыкания и самопересечения (с добавлением новых подобъектов);
//   5) преобразование мультиполигонов в простые площадные объекты (с добавлением новых объектов).
// Состояние обработки записывается в поле parm->Status (см. PROCESSING_STATUS)
// Код ошибки записывается в поле parm->Error: от OVL_ERR_NONE до OVL_ERR_END
// Если объект обновлен на своей карте, то возвращает -1
// При ошибке возвращает 0

_VECIMP long int _VECAPI cntCorrectTheObject(HOBJ obj, PROCESSPARM * parm);

// Исправление метрики объектов
//   parm - параметры обработки
// Если parm.Site = 0             - обрабатывает все карты
// Если parm.SheetNumber = 0      - обрабатываются все листы
// Если Site2 = Site и Map2 = Map - обработанные объекты записываются в ИСХОДНУЮ карту,
//                          иначе - в НОВУЮ карту (Map2, Site2) с нарезкой на листы
// Если Site3 = Site и Map3 = Map - ошибочные объекты записываются в ИСХОДНУЮ карту,
//                          иначе - в карту ОШИБОЧНЫХ объектов (Map3, Site3)
// Состояние обработки записывается в поле parm->Status (см. PROCESSING_STATUS)
// При ошибке возвращает 0

_VECIMP long int _VECAPI cntCorrection(PROCESSPARM * parm);[/CODE]
Как в QDMapView можно выбрать карту из ресурсов проекта ?
 
Карту можно сохранить в формате SITX с паролем. Пароль можно закодировать в программе. Файл можно переименовать в любое расширение - .so или .dll.
Внешне это не будет отличаться от библиотеки и открыть ее сможет только Ваша программа.
ГИС Панорама\Оператор создает такую карту в задаче Сортировка. Можно сформировать карту и без пароля.
Страницы: Пред. 1 ... 4 5 6 7 8 9 10 11 12 13 14 ... 412 След.



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

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