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

Борзов Андрей (Все сообщения пользователя)

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

Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 ... 15 След.
Снимки Landsat 8 и Комплекс анализа мультиспектральных снимков
 
В следующем году.
Пока придется сшивать вручную например так http://gis-lab.info/qa/qgis-landsat-merge.html
Проблемы с доступом к EPSG через GDAL
 
[QUOTE]Михаил Бородин пишет:
должны быть разными[/QUOTE]или будут разными. Теоретически да, а практически?
Насчет всего остального. Исходите из простого утверждения в Панораме X всегда направлен на север, Y - на восток. Во всех остальных мне известных ГИС (в том числе в GDAL) -наоборот независимо от того, что записано в WKT строке или где-то в паспорте.
Буду очень признателен если покажите пример, где направление осей записанное в WKT строке влияет на фактический пересчет координат. В таком случае напишу аналог mapSetWKTString, в который будет записываться направление осей.
[QUOTE]Михаил Бородин пишет:
Не могли бы вы все же уточнить, следует ли менять направления осей только для карт в СК 42 или же это надо делать и для всех/некоторых других типов карт и проекций?[/QUOTE]
В ПАНОРАМЕ X ВСЕГДА НАПРАВЛЕН НА СЕВЕР, В ОСТАЛЬНЫХ ГИС X ВСЕГДА НАПРАВЛЕН НА ВОСТОК.
Проблемы с доступом к EPSG через GDAL
 
[QUOTE]Михаил Бородин пишет:
Не могли бы вы подсказать, где скачать «правильный» Подольск? [/QUOTE]Нигде, поставьте масштаб в паспорте.
[QUOTE]Михаил Бородин пишет:
Т. е., тот факт, что некоторого параметра нет в списке тех, которые возвращаются функцией mapGetProjectionParameters, может означать как то, что параметр не используется, так и то, что параметр используется[/QUOTE]Да
[QUOTE]Михаил Бородин пишет:
Если, например, записать в один из таких параметров произвольное значение, то это на что-либо повлияет? [/QUOTE] Ответ следует из предыдущего ответа
[QUOTE]Михаил Бородин пишет:
За границей знают об СК 42. См. например EPSG:28407, http://www.epsg-registry.org/export.h...PSG::28407 — это как раз та зона 7, в которой находится Подольск. Честно говоря, очень хотелось бы, что mapSetWKTString возвращала бы что-то такое, т. е. с AXIS и ID (ну или AUTHORITY, если использовать более старую версию WKT)… Хотелось бы еще раз уточнить, относится ли ваше утверждение о замене осей ко всем системам координат или только к преобразованию между системой координат Гаусса-Крюгера и UTM? [/QUOTE]Не совсем понял что вы написали. Скажу лишь, что если добавить в WKT строку направление осей, это никак не повлияет на дальнейшую обработку этой строки никакими программами. [QUOTE]Михаил Бородин пишет:
Направления осей (north, south, east и west) и сдвиги по осям (false easting и false northing) — совершенно разные вещи.[/QUOTE] Это вообще не понял.
Проблемы с доступом к EPSG через GDAL
 
1. Судя по всему у вас старый Подольск. До 11 версии поле ScaleFactor не устанавливалось и не считывалось, а в вычислениях использовалась константа. Поэтому вам проще в паспорте установить 1. В картах, созданных в 11 версии поле ScaleFactor инициализируется корректным значением.
2. mapGetProjectionParameters возвращает поля, которые можно редактировать пользователю. Т.е. если поле отсутствует в списке, то это не значит, что оно не установлено.
3. За границей наиболее распространенной проекцией является UTM, поэтому во всех иностранных ГИС X направлен на восток, Y на север. У нас для СК42 был выбран Гаусс-Крюгер, в котором X направлен на север, Y - на восток, поэтому в Панораме принято такое направление осей. Поэтому при импорте или экспорте мы всегда меняем местами оси. Иностранные ГИС этого не делают (попробуйте установить явно проекцию Гаусса-Крюгера в любой иностранной ГИС, X все равно будет направлен на восток). Поскольку замена осей в данных выполняется вне mapSetWKTString, то в mapSetWKTString направление осей оставляется по умолчанию.
4.[QUOTE]Михаил Бородин пишет:
MAPREGISTEREX, однако в описании последней никаких явных указаний на то, как определить направления осей, нет[/QUOTE]
Выдержка из описания MAPREGISTEREX
double      FalseEasting           ; // Смещение координат по оси Y
double      FalseNorthing          ; // Смещение координат по оси X
Проблемы с доступом к EPSG через GDAL
 
1. Обновите GisLib http://gisinfo.ru/download?id=179
  Отныне при инициализации GDAL, переменная GDAL_DATA не изменяется, если она проинициализирована (не пустая).
2. Для Transvesrse Mercator scale_factor обязателен. Если у вас в результирующей WKT строке scale_factor = 0, значит на вход mapSetWKTString вы подали MAPREGISTER с нулевым ScaleFactor.
Проблемы с доступом к EPSG через GDAL
 
А какая у вас проекция в MAPREGISTER?
Проблемы с доступом к EPSG через GDAL
 
1. mapSetWKTString использует обычную базу GDAL (без дополнений и исключений). Почему просто не положить базу так, как предполагается в ядре Панорамы?
2. Функция работает так:
- создается объект OSR OSRNewSpatialReference
- для самых распространенных систем координат определяется код EPSG
- по коду EPSG инициализируется объект OSR вызовом OSRImportFromEPSG (здесь как раз и нужна база EPSG)
- если не получилось, то OSR инициализируется через OSRSetTM, OSRSetLCC, OSRSetLAEA и т.д.(посмотрите описание этих функций, увидите что не во всех есть параметр scalefactor), OSRSetGeogCS, OSRSetTOWGS84
- строка WKT формируется вызовом OSRExportToWkt
- объект OSR освобождается OSRDestroySpatialReference
Таким образом, значение ScaleFactor передается в OSR только, если это требуется функцией инициализации проекции.
Изменено: Борзов Андрей - 24.07.2015 10:46:19
Проблемы с доступом к EPSG через GDAL
 
1. Проблема с вызовом OSRImportFromEPSG после mapSetWKTString происходит скорей всего из-за того, что в mapSetWKTString устанавливается путь к данным EPSG (mapGetPathShell() + "GdalData\"). Предполагается, что при запуске приложения установлен путь к приложению через mapSetPathShell и создан подкаталог GdalData, в котором лежит база данных GDAL.
2. Scale factor устанавливается из mapreg.ScaleFactor только для тех проекций, для которых он имеет смысл.
mapPutMtrFrame
 
[QUOTE]Кристина ТТТ пишет:
Такой вопрос: после применения метода mapPutMtrFrame() мы должны получить полноценную карту высот?[/QUOTE]
mapCreateMtw создает полноценную карту высот, только в ней нет самих высот.
Через mapPutMtrFrame (запись произвольного блока), mapPutHeightValue (запись по элементам), mapWriteMtrBlock (запись стандартного блока, надо не забывать что крайние блоки усеченные) заполняется матрица.
Изменения запоминаются при закрытии матрицы, либо при вызове mapSaveMtr.
[QUOTE]Кристина ТТТ пишет:
Или значения просто записываются в матрицу, не отображая визуально?[/QUOTE]
Чтобы увидеть изменения, матрицу нужно либо переоткрыть (закрыть, открыть), либо вызвать mapSaveMtr.
Создание матричной карты
 
mapPutHeightValue
Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 ... 15 След.



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

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