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

преобразование проекций средствами ГИС Конструктор под ОС Astra-Linux v.1.3

Поиск  Пользователи  Правила  Войти
Форум » Linux » Средства разработки ГИС-приложений для Linux
Страницы: Пред. 1 ... 3 4 5 6 7 След.
RSS
преобразование проекций средствами ГИС Конструктор под ОС Astra-Linux v.1.3, получение косой азимутальной равнопромежуточной проекции путём трансформации других проекций
 
Попробуйте переключить в ГИС Панорама Мини отображение объектов на цилиндрическую проекцию (например, Широта\Долгота) и посмотрите, какие объекты есть на карте.
Может программа отобрала объекты, которые удалены от полюса.
 
Вид модифицированной азимутальной проекции (при переносе объектов с цилиндрической проекции) немного изменился после задания масштаба 1:5000000 (ранее был 1:2000) и стал таким:




При переносе объектов этой проекции обратно на цилиндрическую (Широта\Долгота) при выполнении операции "Выделение по рамке" было выделено только 26348 объектов из 31383 отображаемых (если верить информационной строке), хотя рамка накрывала всю поверхность карты. Результат переноса представлен здесь:



Для справки, исходный вид карты в цилиндрической проекции до всех преобразований (сначала в модифицированную азимутальную и затем обратно в цилиндрическую) представлен во втором пункте моего первого сообщения по данной теме от 23.09.2014.
Изменено: Алексей Агулов - 05.12.2014 11:38:57
 
Какие будут комментарии по предыдущему сообщению?
И как объяснить, что тип проекции  AZIMUTALEQUIDISTANTGUAM вообще не формируется?
 
Судя по картинке результаты построения похожи на двух изображениях. Но габариты изображений разные.
Попробуйте выполнить процедуру Сортировки из меню Задачи.
 
Ну уж в этом я с Вами не могу согласится.
Во-первых. Выполненная процедура Сортировки никак не изменила внешний вид проекции.
Во-вторых. Что значит похожи?







В каком месте эта похожесть и как пользоваться настолько искажённой картой? Достаточно обратить внимание на одну только розовую область, чтобы стал ясен масштаб искажений. И почему количество объектов сократилось с 31433 до 26348?

В-третьих, повторю предыдущее сообщение. Как объяснить, что тип проекции AZIMUTALEQUIDISTANTGUAM вообще не формируется?
Изменено: Алексей Агулов - 24.12.2014 11:17:51
 
Нет смысла преобразовывать Карту мира из цилиндрической проекции в азимутальную с потерей объектов, которые расположены на обратной стороне Земли,
а затем обратно в цилиндрическую. Исходная карта не будет получена.

Ваш текст программы нам не известен. Почему получается четверть разворота сложно сказать. Нужно смотреть программу и примеры карт, которые Вы приводите.

При преобразованиях на таких площадях нужно предварительно "нарезать" объекты на небольшие фрагменты.
Например, прямоугольные области. Может градус на градус, например. Иначе длинные стороны объектов заворачиваются.
 
1. Преобразование из цилиндрической проекции в азимутальную составляет суть данной темы форума. Решению этой проблемы она и посвящена.
Обратное преобразование (из азимутальной в цилиндрическую) было сделано только ради эксперимента по Вашей же просьбе (Ваше сообщение от 4.12.2014), и какой в этом смысл должно было быть известно только Вам.

2. Весь программный код и карты готов предоставить (по фрагментам это уже было сделано).

3. ГИС Панорама мини справляется с этой задачей достаточно корректно без всякого разбиения на фрагменты. Решение проблемы заворачивания краёв мы обсуждали ранее. К тому же, на используемой карте присутствует только северное полушарие, что само по себе исключает наложение объектов противоположных полушарий. Доказательством тому вид проекции, построенной Панорамой мини (см. второй рисунок в моём сообщении от 4.12.2014).

На мой взгляд, механизм построения азимутальных проекций неточно перенесён из ГИС Панорама мини в ГИС Конструктор. Задача будет решена, если Конструктор сможет строить проекции так же, как это делает Панорама.
 
Весь алгоритм работы Панорама Мини представлен в Ваших примерах программы.
Основная функция - mapChangeObjectMap.

Разница в следующем. В Панорама Мини создается пользовательская карта SIT, не имеющая ограничений по размерам.
У Вас, судя по тексту, создается MAP, ограниченная случайным образом.
Чтобы создать SIT (или SITX) нужно заполнять поле FlagRealPlace: 1 - SIT, 2 - SITX.
Поле DeviceCapability: -1 (максимальная точность в метрах)

Кроме того, нашли опечатку в программе для проекции Гуам на шаре. Сегодня постараемся обновить и выслать Вам новую версию ГИС Конструктор Free.
 
Спасибо. После добавления установки значения 1 в поле FlagRealPlace проекции стали формироваться корректно.
Единственное, после открытия в Панорама мини для правильного отображения сформированных проекций приходиться выполнять операцию Сортировки.
В чём её суть, и как это выполнить программно в ГИС Конструкторе?
 
Не ясно в чем проявляется проблема с отображением.
Сортировка упорядочивает объекты в файле в соответствии с их порядком отображения.

Программный вызов из ядра:

Код
  // Сортировка отдельной карты документа
  //  mapname - сортируемая карта
  //  flags   - Флажки обработки карты :
  //   0 - сортировать все листы,
  //   1 - только несортированные,
  //   2 - сохранять файлы отката,
  //   4 - повысить точность хранения,
  //   8 - нормальная точность хранения (FLOAT).
  //  16 - повысить точность хранения, формат - см
  //  32 - повысить точность хранения, формат - мм
  //  64 - повысить точность хранения, формат - радианы
  // hEvent - адрес функции обратного вызова для уведомлении о процессе
  // eventparam - параметры функции обратного вызова
  // outpath - адрес строки для записи нового пути к отсортированной карте,
  //           если адрес строки не задан, то карта обновляется на месте
  // size    - размер строки для записи пути
  // При ошибке возвращает ноль

_MAPIMP long int _MAPAPI MapSortingWithEvent(const char *mapname, long int flags,
                                             EVENTCALL hEvent, void *eventparam, char *outpath, long int size);


Все параметры, кроме имени, могут быть нулевыми.
Страницы: Пред. 1 ... 3 4 5 6 7 След.
Читают тему (гостей: 1)



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

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