SASGIS - SAS.Планета
View Issue Details
0002242SAS.Планета[All Projects] Хотелкаpublic12-11-2013 17:0027-03-2016 19:55
Hunter23071985 
 
nonetweakN/A
confirmedopen 
IntelWindows8 Enterprise x64
131111 
50xxxx 
0002242: Выгрузка снимков в масштабе по ГОСТ
SAS.Planet позволяет сохранить снимок заданной детализации (z).
Но при этом:
- не сохраняет масштабную линейку
- не указывает реальный размер загруженной области
- не предлагает выгрузку снимка в масштабе по ГОСТ
- не предлагает настроек DPI/BPP для управления качеством и размером файла
- не просчитывает ожидаемый размер файла
- возможно не учитывает ограничение для Photoshop (300000х300000 пикселей)
Т.е. можно получить здоровенный файл неизвестного масштаба.
Восстановить масштаб, используя бесплатное ПО невозможно.
Использовать снимок для оценки удалённости объектов и/или дальнейшей обработки из-за отсутствия масштаба и большого размера файла невозможно.

При этом возможно увязать реальный, пиксельный и сохраняемый размер снимков. Используя общепринятые формулы + возможности SAS, VBA и Excel я реализовал свой вариант расчёта и предлагаю следующий алгоритм:
1. Пользователь задаёт область и детализацию (z) для снимка
2. SAS считывает координаты 3-х точек и получает реальную длину и ширину области
3. Пользователь задаёт формат печати/сохранения + значения DPI/BPP/Сжатие
4. SAS склеивает тайлы, масштабируя снимок до рассчитанного разрешения,
дописывая к имени файла размер области, масштаб снимка и формат для печати:
К примеру: Имя_карты (2616x2093м, М1х5000, А0)

Заранее спасибо за внимание.

Файл: http://yadi.sk/d/EvJf_qrMCUsj5
No tags attached.
Issue History
12-11-2013 17:00Hunter23071985New Issue
13-11-2013 04:41zOnNote Added: 0013252
13-11-2013 04:42zOnNote Edited: 0013252bug_revision_view_page.php?bugnote_id=13252#r5827
13-11-2013 08:01vdemidovNote Added: 0013254
13-11-2013 17:40Hunter23071985Note Added: 0013256
13-11-2013 18:04zedNote Added: 0013257
13-11-2013 21:01vdemidovNote Added: 0013258
14-11-2013 04:33DJ VKNote Added: 0013260
14-11-2013 04:37DJ VKNote Edited: 0013260bug_revision_view_page.php?bugnote_id=13260#r5829
14-11-2013 04:42DJ VKNote Edited: 0013260bug_revision_view_page.php?bugnote_id=13260#r5830
14-11-2013 19:13Hunter23071985Note Added: 0013265
14-11-2013 19:13Hunter23071985Note Edited: 0013265bug_revision_view_page.php?bugnote_id=13265#r5835
14-11-2013 19:14Hunter23071985Note Edited: 0013265bug_revision_view_page.php?bugnote_id=13265#r5836
14-11-2013 19:35Hunter23071985Note Edited: 0013265bug_revision_view_page.php?bugnote_id=13265#r5837
14-11-2013 19:38Hunter23071985Note Edited: 0013265bug_revision_view_page.php?bugnote_id=13265#r5838
15-11-2013 04:15zOnNote Added: 0013268
15-11-2013 06:40vdemidovStatusnew => confirmed
15-11-2013 06:42vdemidovPriorityhigh => none
15-11-2013 06:42vdemidovTarget Version => 50xxxx
15-11-2013 08:30vdemidovNote Added: 0013269
15-11-2013 17:39Hunter23071985Note Added: 0013271
25-11-2013 20:57zedNote Added: 0013306
26-11-2013 04:40zOnNote Added: 0013307
26-11-2013 09:45zedNote Added: 0013316
26-11-2013 18:33Hunter23071985Note Added: 0013331
13-07-2019 14:30RIXXXIssue cloned: 0003489

Notes
(0013252)
zOn   
13-11-2013 04:41   
(edited on: 13-11-2013 04:42)
Про ГОСТ: можно выдержки про масштабы? ну хоть сам ГОСТ - какие там требования?
так Фотошоп вроде читает ECW с плагином - вот и нет вашего ограничения, а если хочется обычный битмап в таком размере, то... я не знаю какой монстр его потянет.

(0013254)
vdemidov   
13-11-2013 08:01   
Ну если кто-то очень захочет это реализовать высказывайтесь, но я очень сомневаюсь что это реально. Современные картографические проекции не предназначены для печати и использования на бумаге, в них нет общего масштаба. Есть только масштаб для каждой точки разный по горизонтали и вертикали. Так что для печати нормальной карты нужна склейка с перепроецированием в какую-то другую проекцию.
И вообще ИМХО, те кому это реально необходимо пусть пользуются специализированным софтом, а вот подавляющему большинству это и не надо вовсе (даже если они думают иначе, так как скорее всего неправильно формулируют свою задачу)
(0013256)
Hunter23071985   
13-11-2013 17:40   
zOn, все комментарии, ссылки на онлайн ГОСТы, формулы и т.д. - в файле.

vdemidov, в чём причина Ваших сомнений?
Получить реальный размер области можно средствами SAS или "haversine" formula.
Погрешность вполне допустимая - ~0,3%.
Пересчитать её в пиксельный размер проще простого.
Остаётся склеить и отресайзить до заданного размера по X и Y.
IMHO, это просто и достаточно точно без всякого "перепроецирования". :)

Зачем это надо? - странный вопрос...
А кому нужна карта, у которой нет масштаба?
Зачем в SAS/навигаторах измерение расстояний?
Зачем вообще люди пытаются оценить расстояние до объектов?
И, что если нет навигатора/ПК/планшета/смарта, но есть распечатка?
(0013257)
zed   
13-11-2013 18:04   
>Пересчитать её в пиксельный размер проще простого.
Ошибаетесь. Одно дело - расстояние от точки А до точки Б, и совсем другое - определить сколько метров в каждом пикселе вдоль этого пути. Тут нет линейной зависимости и разрешение пикселя зависит от его координат. Вы откройте SAS и посмотрите на строку статуса, он там показывает разрешение пикселя под курсором мыши. Перейдите на какой-нибудь z10 и понаблюдайте за изменениями в показаниях при перемещении курсора.
(0013258)
vdemidov   
13-11-2013 21:01   
>Зачем это надо? - странный вопрос...
>И, что если нет навигатора/ПК/планшета/смарта, но есть распечатка?
Для таких случаев чаще лучше купить обычную бумажную карту. А SAS.Планета предназначена для работы с цифровыми картами, а не для предпечатной подготовки карт.
Но я не буду возражать, если найдется кто-то кто реализует эту хотелку, но сам в этом направлении делать не собираюсь ни чего. И без этого работы выше головы.
(0013260)
DJ VK   
14-11-2013 04:33   
(edited on: 14-11-2013 04:42)
Программа в принципе предназначена для работы с растром, векторные метки и полигоны - это просто бонус. А для растра изменение масштаба вредно. Поэтому склейка идет в масштабе 1к1 по отношению к пикселю. И для просмотра карты в других программах этого достаточно. А вот чтобы распечатать в каком-либо заданном масштабе, можно просто рассчитать число пикселей, подогнать область выделения и при склейке разбить ее на необходимое количество фрагментов, и потом распечатать указав нужную область для печати (в сантиметрах листа принтера). например для области печати 19 на 27 см, выделить область 1900 на 2700 пикселов....
В принципе, печать можно автоматизировать. Но проекция, еще раз подчеркну, не прямоугольная ни разу. И речь идет об абстрактных пикселах на сантиметр, а не километрах-метрах на сантиметр... ГОСТовский масштаб будет плавать по всем листам, и исправить это можно только сменив проекцию в ДРУГОЙ программе...
поищите на сайтах-форумах тему по распечатке спутниковых снимков в масштабе, и когда научитесь, экспортируйте снимки из планеты и обрабатывайте.

http://lizaalert.org/forum/viewtopic.php?f=90&t=1694

(0013265)
Hunter23071985   
14-11-2013 19:13   
(edited on: 14-11-2013 19:38)
Друзья, я много лет работаю проектировщиком и понимаю, что Земля не плоская. :)
Совет купить карту области, которую со спутника то еле видно, улыбнул.
Реально хорошая шутка, спасибо!

Суть же в том, что сейчас SAS выдаёт просто непропорциональный снимок.
Если тупо сделать скрин с масштабной линейкой, затем снимок с нормальной детализацией и масштабировать снимок по скрину уже получается более или менее точно.
Но лишь в одном направлении, т.к. AutoCAD сохраняет пропорции.

Если использовать мой расчёт и бесплатную программу XnView можно получить снимок, масштаб которого близок к топосъёмке!
При использовании S-Spline Max или Lanczos-ресайза визуальное качество тоже отличное.
Да, я понимаю, что погрешность не постоянная из-за выпуклости пространства.
Но погрешность относительно топосъёмки в пределах ~0,09 м2/га меня устраивает.
К тому же при этом используются лишь мозги, время и _Free_ софт.

Так зачем мне платный Oziexplorer и иже с ним?
И почему, если сторонний софт может масштабировать снимок SAS, этого не умеет делать сама SAS?

(0013268)
zOn   
15-11-2013 04:15   
потому что это не редактор
(0013269)
vdemidov   
15-11-2013 08:30   
Hunter23071985 вы меня убедили, что закрывать эту хотелку вообще не стоит, но реализовывать ее у меня ни желания, ни времени нет. Поэтому у вас есть варианты:
1. Продолжать пользоваться набором бесплатного софта и делать все в полу ручном режиме (советую посмотреть на формат привязок World Files там сохраняются реальные размеры в метрах, если я правильно помню.)
2. Найти какой-то другой платный или бесплатный софт.
3. Найти разработчика который сможет добавить такую склейку как вам нужно в САС.Планету и как-то заинтересовать его (деньги, слава, ответная услуга и тд)
(0013271)
Hunter23071985   
15-11-2013 17:39   
Vdemidov, спасибо за подсказку и в целом за интересную дискуссию.
Надеюсь, мы ещё вернёмся к обсуждению вариантов решения данной задачи.
Пока у меня тоже напряг со свободным временем - даже спать некогда.
Возможно кто-то ещё заинтересуется темой и что-то предложит...
(0013306)
zed   
25-11-2013 20:57   
Есть опенсорсный кроссплатформенный софт: QGIS, и там, кроме всего прочего, есть возможность печатать карты в масштабе. Вот пара инструкций:
- 13 шагов к бумажной карте
- Quantum GIS: как это сделать?

Софт довольно навороченный, но обратить внимание стоит.
(0013307)
zOn   
26-11-2013 04:40   
zed, но в qgis работа идет с вектором, а это совсем другая история.
(0013316)
zed   
26-11-2013 09:45   
Да нет, qgis и с вектором и с растром работает на ура.
(0013331)
Hunter23071985   
26-11-2013 18:33   
ZED, благодарю за ссылки.
Интересная программа: Free, мультиплатформенная, (полу)русский фейс и мануал.
Радует, что проект развивается, доступны исходники и есть поддержка скриптов.

Если я правильно понял:
» Версия 2.0.1 понимает не только gif, но и png/jpg.
» Есть ручной выбор системы координат и преобразование координат "на лету".

Грубо алгоритм получения масштабной карты такой:
1. Загружаем нужную область: тайлы (*.png, *.jpg) и привязки (*.map)
2. Сопоставляем тайлы привязкам (даём одинаковые имена файлов)
3. Запускаем QGIS, жмём Растр-Проекции-Перепроецирование (batch + интерполяция)
4. Измеряем длину склеенной карты и подбираем формат печати
Т.е. фраза "…процедура распечатки карт займет не менее часа…" уже не актуальна.

К тому же:
а) пункты 1,2 можно реализовать в SAS.Planet
б) пункт 3 можно автоматизировать, используя библиотеки QGIS
в) пункт 4 можно рассчитать программно
Т.е. с высокой вероятностью можно написать скрипт для SAS.Planet?