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

Построение зон видимости

Поиск  Пользователи  Правила  Войти
Форум » Настольные приложения » GIS ToolKit, GIS ToolKit Active, ГИС Конструктор для Windows
Страницы: 1 2 3 4 След.
RSS
Построение зон видимости
 
Объясните пожалуйста по примеру , который указан в 12 уроке. При построении зоны видимости присутствует ссылка на карту с объектами, как создаётся данная карта? Ну или модно поподробнее обьяснить порядок создания зоны видимости
 
Цитата
Ксения Смирнова написал:
Объясните пожалуйста по примеру , который указан в 12 уроке. При построении зоны видимости присутствует ссылка на карту с объектами, как создаётся данная карта? Ну или модно поподробнее обьяснить порядок создания зоны видимости
Предлагаем ознакомиться с технической документацией по задаче Расчеты по карте, п.3.12.6 Построение зон видимости в указанном секторе.
см. документ ГИС "Панорама" ПАРБ.00046-06 Прикладные задачи. Расчеты по карте.
 
Мне непонятны 2 момента, я пыталась разобраться , но все равно что-то не доходит (
У меня создана матрица высот, но она даже не отображается там почему-то(в выпадающем меню).
и как создавали карту вышки.sitx?
ФОТО ИЗ УРОКА 12 (создание зоны видимости)
 
У Вас же есть исходный код.
По нему видно, что в выпадающий список попадают матрицы высот, которые добавлены в программе к основной карте.
Из выпадающего списка карт выбирается карта также из состава открытых карт. Она используется при вызове MAPAPI-функции построения зон видимости.
Это может любая карта с объектами. При построении все объекта карты или только по определенным условиям (в HSELECT) используются как точки наблюдения.

см. описание ф-ии mtrBuildVisibleMtq

Код
// Параметры вызова задачи построения матрицы зон видимости
typedef struct BUILDVISIBLE
{
  double    Radius;   // предельный радиус видимости
  double    ElemSize; // размер элемента создаваемой матрицы в метрах
  COLORREF  Color;    // цвет, которым показывается элементы, с которых видны точки
  int       Reserved[63];
}
  BUILDVISIBLE;

// Построение матрицы видимости
// hmap    - основная карта
// hsit    - векторная карта с объектами, по которым строится матрица плотности
// mtqname - имя создаваемой матрицы
// hselect - объекты, по которым строится матрица (если = 0, то все объекты карты)
// parm    - параметры построения
// hwnd    - окно, которому посылаются сообщения WM_PROGRESSBAR с процентом
//           обработки в WPARAM (если = 0, то сообщения не посылаются)
// При ошибке возвращает 0

long int MTREXPORT mtrBuildVisibleMtq(HMAP hmap, HSITE hsit, const WCHAR *mtqname,
                                      HSELECT hselect, BUILDVISIBLE *parm, HMESSAGE hwnd);
 
1) Как убрать красную границу при построении «зоны видимости»?
2) Как рассчитать площадь каждой «видимой зоны», при условии , что зона не одна?
Изменено: Ксения Смирнова - 13.04.2020 09:47:14
 
Не так давно разбирался с 12 уроком и, на сколько я понимаю, в исходном коде почему-то отсутствуют строки, отвечающие за заполнение выпадающих списков.
Я для своей программки сделал заполнение обычного списка (listBox) открытыми матрицами качеств следующим образом:

           if (MTQ.mapGetMtqCount(Program.MainForm.axaxcMapView1.MapHandle) > 0)
           {
               for (int i = 1; i <= MTQ.mapGetMtqCount(Program.MainForm.axaxcMapView1.MapHandle); i++)
               {
                   listBoxMatrix.Items.Add(Marshal.PtrToStringAnsi(MTQ.mapGetMtqName(Program.MainForm.axaxcMapView1.MapHandle, i)));
               }
           }

Соответственно, вы можете подобным образом добавить открытые матрицы высот в выпадающий список.
Для выпадающего списка с векторными картами нужно будет сделать ещё один цикл, который бы просматривал все открытые карты и добавлял их в этот список.
Карта Вышки.sitx, скорее всего, создавалась вручную в Панораме.
Изменено: Клим Никитский - 10.04.2020 20:59:21
 
Цитата
Ксения Смирнова написал:
1) Как убрать красную границу при построении «зоны видимости»?
2) Как рассчитать площадь каждой «видимой зоны», при условии , что зона не одна?

Я перенес Ваше сообщение в эту тему.

Цитата
Ксения Смирнова написал:
2) Как рассчитать площадь каждой «видимой зоны», при условии , что зона не одна?
После преобразования зон в векторный вид можно с ними работать как с любыми площадными векторными объектами карты.
Имейте в виду, что одна "зона видимости" может превратиться в множество площадных объектов, если эта зона изначально "рваная", т.е. имеет вид разрозненных очагов.

Для преобразования зон в векторный вид выполняется процедура оконтуривания - см. mtrRstToVector

Скрытый текст
 
И как мне посчитать площадь данных выбросов ?
Изменено: Ксения Смирнова - 13.04.2020 13:31:45
 
Цитата
Ксения Смирнова написал:
И как мне посчитать площадь данных выбросов ?

Не понял, о каких выбросах речь.

Посчитать суммарную площадь зон видимости можно так:
1. построить зоны (получить растры);
2. оконтурить растры (получить векторные площадные объекты);
3. перебрать все полученные площадные объекты, запросить из площадь, просуммировать.
 
Такой вопрос , а могу ли я задать цвет границы(контура) видимости?
Страницы: 1 2 3 4 След.
Читают тему (гостей: 1)



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

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