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

зона вокруг объекта

Поиск  Пользователи  Правила  Войти
Форум » Настольные приложения » GIS ToolKit, GIS ToolKit Active, ГИС Конструктор для Windows
Страницы: 1
RSS
зона вокруг объекта
 
с помощью mapZoneObject(double radius,HOBJ info, long int subject/* = 0*/,long int form/* = 0*/)  построил зону. получилось большое пятнышко.
вопрос:
можно ли у этой зоны убрать заливку? или какая другая функция строит вокруг объекта замкнутый геометрический объект без заливки? пробовал сплайны- получается пятнышко,но боле похожее на объект.
 
Заливка определяет вид площадного объекта на карте и является неотъемлемой его частью. Заливку можно отключить только у всех объектов выбранного типа (изменить вид).

Так как на входе mapZoneObject был площадным, то и на выходе остается площадным (тип объекта не меняется). Отключить заливку для объекта, полученного на выходе можно заменой его типа. Например, привести к типу линейного объекта с кодом 1000000001, который присутствует во всех классификаторах:

mapRegisterObject(info, 1000000001, LOCAL_LINE);
 
вопрос: что возвращает mapZoneObject?
можно ли получить метрику зоны?
 
хочу на основе полученной зоны создать объект на карте.
выдает ошибку на следующий код
Код
...
//создаем зону
HOBJ obj=mapZoneObject(200,Form1->MapObj1->ObjHandle,0,0);

//присваиваем ей тип системный-выделениелинейных
mapRegisterObject(obj, 1000000001, 0);

//заполняем точки 
for (int i = 0; i < FindF->MapObj1->Metric->PointCount[ 0]; i++) {
   FindF->MapObj1->Metric->Points[ 0][i]->PlaceOut=PP_PLANE;
   mapAppendPointPlane(obj, FindF->MapObj1->Metric->Points[ 0][i]->X, FindF->MapObj1->Metric->Points[ 0][i]->Y,0);
}

//привязываем к местности
mapCommitWithPlace(obj);

mapFreeObject(obj);                 
Form1->MapView1->Repaint();

ошибку выдает и елси убрать заполнение точек и смену типа.
как добится результата что и в "Карте",когда  зона это объект?
 
Функция mapZoneObject возвращает 0 или 1. Результат в Form1->MapObj1->ObjHandle.

// Назначить объекту Form1->MapObj1->ObjHandle тип "системный - выделение линейных"
mapRegisterObject(Form1->MapObj1->ObjHandle, 1000000001, 0);

// Цикл не нужен

// Записать в карту новый объект (чтобы не испортить исходный объект на карте, по которому строилась зона)
mapCommitWithPlaceAsNew(Form1->MapObj1->ObjHandle);
 
Скажите,а какое прикладное назначение функции mapZoneObject?
 
Построение зоны отчуждения, например. Построение площадных проездов по осевым линиям.
 
Добрый день! В программе есть возможность построения зоны вокруг линейного объекта (оси). Подскажите, есть ли возможность выполнить обратную задачу? Существует площадной объект (охранная зона ЛЭП), необходимо отобразить ось этого объекта (саму ЛЭП как линейный объект).
 
Цитата
Сергей Мелентьев написал:
Добрый день! В программе есть возможность построения зоны вокруг линейного объекта (оси). Подскажите, есть ли возможность выполнить обратную задачу? Существует площадной объект (охранная зона ЛЭП), необходимо отобразить ось этого объекта (саму ЛЭП как линейный объект).
Добрый день!
Просьба уточнить в какой программе и версии работаете?
В программе ГИС Панорама версия 14 есть режим "Построение фарватера (средней линии)" (задачи Редактора карты - Автофигуры)
В режиме построения фарватера необходимо задать вид создаваемого объекта выбором из классификатора в стандартном диалоге Создание объекта и во всплывающем окне  задать минимальную ширину и минимальную длину участка фарватера. Значения этих параметров можно изменять при последовательном выборе линейного или площадного  объекта. Если ширина и длина не заданы (равны 0 по умолчанию), средняя линия строится по длине всего выбранного объекта. C:\Users\Public\Documents\Panorama\Help\russian\panorama\farva­ter.html  
Страницы: 1
Читают тему (гостей: 1)



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

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