SASGIS

Веб-картография и навигация


View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0001616SAS.Планета[All Projects] Хотелкаpublic08-10-2012 17:3211-10-2019 09:38
Reporterrass 
Assigned Tozed 
PrioritynormalSeverityfeatureReproducibilityhave not tried
StatusresolvedResolutionfixed 
PlatformOSOS Version
Product Version110418 
Target Version191221Fixed in Version191221 
Summary0001616: Выделение квадратной области определяемый указанным радиусом вписанной окружности
DescriptionВыделение квадратной области определяемый указанным радиусом вписанной окружности.

Аналог такого есть в GlobalMapper.

Допустим, кликаю курсором по интересующему Месту и указываю расстояние вокруг которого следует выбрать(очердность такая не обязательна). Тем самым решаются проблемы с центрованием Места в выделении при исползовании инструмента Прямоугольная область. А также серия выделенний таким образм нескольких Мест всегда будет иметь одинаковые размеры. Да и масштаб картинки в дальнейшем всегда удоно вычеслить по стороне квадрата, а не как обычно сейчас приходится замерять расстояние между опорными точками попавшими в выделение.
TagsVIP
Attached Filesjpg file icon 08-10-2012 20-31-08.jpg [^] (74,641 bytes) 08-10-2012 17:32


jpg file icon 29-10-2012 16-55-40.jpg [^] (18,996 bytes) 29-10-2012 14:58


jpg file icon 29-10-2012 17-02-16.jpg [^] (251,656 bytes) 29-10-2012 15:13


? file icon m.kmz [^] (885 bytes) 06-10-2019 13:26

- Relationships
related to 0000663resolvedzed Создание круглых областей заданного радиуса 
parent of 0001188resolvedzed Алгоритм проецирования точки на эллипсоиде 
has duplicate 0001686closedvdemidov Функция выделения области по центральной координате и размеру области 
has duplicate 0002296closedvdemidov инцидент 0001686 не отработан 
related to 0002408confirmed Возможность выделения прямоугольника по координатам центра и размерам в метрах 

-  Notes
(0009354)
Tolik (manager)
09-10-2012 05:59
edited on: 09-10-2012 05:59

ИМХО польза от такой функции меньше затраченных на неё усилий.
(а, вспомнил, это про овчинку :)
Также появится ещё одна непонятная иконка.

(0009365)
vdemidov (manager)
09-10-2012 06:46

Ну усилий на реализацию этой функции потратится очень немного, особенно после добавления Zed-ом функций проецирования точки. Так что в принципе сделать можно.
(0009713)
rass (reporter)
23-10-2012 10:55

нашел! уже почти такая функция есть - "Выделение по пути".
только возможность ввода радиуса происходит при указании более одной точки пути.
А можно сделать так, чтобы функция работала уже с указанием первой точки и возможностью ей же ограничить путь, а направление (тоесть ориентировать квадрат выделение) по умолчанию на север?
(0009777)
rass (reporter)
29-10-2012 15:12

Хотелка свелась к следущему существующему решению:
1. Устанавливаю максимальный зум (уровень) на нужном объекте.
2. Выбираю инструмент "Выделение по пути"
3. Указываю как можно близко две точки пути, и так чтобы напарвление было ортогональное (то есть либо вертикальное либо горизонтальное, чтобы стороны квдрата выделения были в такомже направлении)
4. указываю радиус выделения.
5. получаю результат Хотелки.

Большое спасибо за развитие программы.
Эту хотелку, если нет возможности, как было выше описано, усовршенствовать инструмент "Выделение по пути", можно закрыть.

Методику и результат в картинках прикрепил.
(0019353)
zed (manager)
06-10-2019 10:06

Сейчас, если поставить метку и вызвать для неё всплывающее меню, то там можно выбрать пункт "Операция с выделенной областью", после чего появляется диалог задания радиуса и создаётся окружность. Так вот, для реализации данной хотелки планирую добавить в этот диалог переключатель окружность/квадрат чтобы можно было выбрать, какое выделение генерировать.
(0019354)
zed (manager)
06-10-2019 12:15

Хм, есть 2 варианта реализации:

1) от центральной точки отложить отрезки R в четыре стороны (с азимутом 0, 90, 180, 270) и взять ограничивающие координаты. При этом визуально в SAS получается ровненький квадратик, но реально, на поверхности Земли, это будет трапеция сужающаяся кверху (можно хорошо увидеть, если R несколько сот км и открыть в GoogleEath). Условно говоря, ширина верхней стороны получается 0,9*2R, ширина по центру равна 2R, ширина нижней стороны равна 1,1*2R. При этом высота всегда равна 2R.

2) от центра отложить отрезки R вверх и вниз, а затем из каждой из точек отложить отрезки R вправо и влево, получив координаты углов. При этом, визуально в SAS получается трапеция, сужающаяся книзу, но реально, на поверхности Земли, получается что-то похожее на квадрат, со сторонами 2R.

Примеры вот тут (радиус 300 км от центральной точки): https://drop.me/B4KWbE (скриншот из GE: http://prntscr.com/pfiwoo)

Какой вариант делать? По идее, вариант 2 должен давать большую точность, с точки зрения покрытия площади, с другой стороны, SAS не сможет склеить трапецию и выходной файл всё равно будет прямоугольным, но при загрузке, по краям будет лесенка из незагруженных тайлов. И в связи с этим, я склоняюсь к варианту 1.
(0019355)
zed (manager)
06-10-2019 12:27
edited on: 06-10-2019 12:27

В принципе, оно можно и оба варианта реализовать - кто создаёт область для закачки, воспользуется первым вариантом, а кому нужна именно геометрия - вторым. Самое трудное будет только подобрать названия для этих вариантов.

(0019356)
Hunter23071985 (reporter)
06-10-2019 13:17
edited on: 06-10-2019 13:28

Не могу скачать (502 Bad Gateway), но скриншоты и описание не comme il faut.
Можно ли использовать решение Винсенти, дающее точность ±0,5 мм?
Если честно, тут есть сомнения, ибо сам WGS-84 определён с точностью ±1 м.
Но реализация очень эффективна в плане скорости и ресурсоёмкости:
5-10 микросекунд с использованием Chrome на среднем ПК с Core i5.
По ссылке дан e-mail автора, код JavaScript, документация и набор тестов.

(0019357)
zed (manager)
06-10-2019 13:33

Прикрепил kmz к тикету.

У GeographicLib точность вообще нанометрами измеряется, если верить вот этому.

А алгоритм Винсента у нас использовался до внедрения GeographicLib и он всё ещё остался, на всякий случай. Если вы удалите geodesic.dll из папки с программой, то начнёт работать алгоритм Винсента. Но отказались мы от него, потому что он давал ошибки, на сколько я помню.
(0019358)
zed (manager)
06-10-2019 13:36

Да, тестовые kmz надо смотреть и производить измерения на картах Яндекса.
(0019359)
Hunter23071985 (reporter)
06-10-2019 13:47
edited on: 06-10-2019 13:54

Вообще надо проверить результаты по топосъёмкам/кад. выпискам/др. с точными координатами/размерами.
К сожалению, у меня нет ничего подходящего...
Оба варианта на картах Яндекса (z10) дают не квадратную картинку: 3475х3487 или 3735х3466.
Это не хорошо. И не ясно что, если понадобятся другие карты/спутники, кроме Яндекса?

(0019360)
zed (manager)
06-10-2019 14:06

Нужен квадратный растр? Как видно, в таком случае наилучший результат даёт вариант 1.

> И что, если понадобятся другие карты/спутники, кроме Яндекса?
Тогда будет построен полигон на другом эллипсоиде. И если склейка будет производиться на нём же, то будет всё аналогично.
(0019361)
zed (manager)
06-10-2019 14:45

Собрал тестовые бинарники: https://yadi.sk/d/IZWprSo2pS-OgQ

v1 - реализует первый вариант, v2 - второй. Кроме того, во втором варианте добавил генерирование ещё 4-х точек в полигон (верх, низ, право, лево).
(0019362)
Hunter23071985 (reporter)
06-10-2019 15:21
edited on: 06-10-2019 15:32

Для произвольной области 8х8 км:

SASPlanet.1616.v1.exe:
Спутник Yandex - 1485х1485 пикселей
Спутник Google - 1485х1489 пикселей (1489х1489 пикселей)

SASPlanet.1616.v2.exe:
Спутник Yandex - 1487х1485 пикселей
Спутник Google - 1487х1489 пикселей (1490х1489 пикселей)

В скобках - цифры после перестроения области выделения.
Визуально V1 аккуратнее, точность вынесем за скобки.
Но надо снять обязанность перестраивать область выделения,
используя информацию из zmp для пересчёта этой области.

(0019363)
zed (manager)
06-10-2019 17:17

Сделал гуй, ночная сборка выпущена, тестируйте.

> Но надо снять обязанность перестраивать область выделения, используя информацию из zmp для пересчёта этой области.

Совсем не понял о чём речь. Когда открывается окно Операций с выделенной областью, вы там можете её сохранить в метки и использовать впоследствии без всяких перестроений.

Кроме того, для теста я сейчас построил несколько раз область для одной и той же точки - результат всегда идентичен. Так что, расскажите подробно по шагам, что надо сделать, чтобы получить разные цифры.
(0019364)
Hunter23071985 (reporter)
06-10-2019 17:31
edited on: 06-10-2019 17:32

Воспроизвести легко: вот видео (https://cloud.mail.ru/public/CE9n/3zrdv1qkr),
47612х47611 - Google, 47612х47510 - Yandex просто при переключении карт.
Также в Generator Options нужна русификация и информация о точности квадрата.

(0019365)
zed (manager)
06-10-2019 17:49

Русификацию я забыл сразу закоммитить, перекачайте сборку ещё раз.

По поводу видео: это ожидаемое поведение, т.к. у этих карт разные модели Земли (сфера и эллипсоид), соответственно и разрешение растра (метр/пиксель) отличается.
(0019366)
Hunter23071985 (reporter)
06-10-2019 18:20

Спасибо за русификацию, скачаю позже.

По поводу квадрата: на видео задан квадрат 8х8 км, и он должен быть 8х8 км для всех карт.
Путь это будет 47612х47611 для одной карты, 47510х47510 для другой, но не 47612х47510.

По поводу точности: ни один из методов не идеален.
Пользователь должен хотя бы примерно знать значение погрешности для выбранного им квадрата и метода.
(0019367)
zed (manager)
06-10-2019 18:38

> он должен быть 8х8 км для всех карт
Нет, не должен. Повторяю: у разных карт, разные модели Земли. И квадрат мы строим для конкретной модели. Вот для неё (и всех карт которые её используют) и будет 8x8. Для других карт, с другой моделью, надо генерировать другой квадрат и в нём координаты углов будут отличаться от предыдущей. Но будет 8x8, только уже для этой модели.

> Пользователь должен хотя бы примерно знать значение погрешности для выбранного им квадрата и метода.
Что предлагаете?
(0019368)
Hunter23071985 (reporter)
06-10-2019 18:52
edited on: 06-10-2019 19:06

> Нет, не должен.
Уверяю Вас, обычный пользователь ничего не знает про модели Земли и знать не хочет!
Многие до сих пор считают, что Земля плоская: https://ru.wikipedia.org/wiki/Общество_плоской_Земли.
Раз SASPlanet позволяет сохранить один и тот же квадрат с разных источников, это должен быть один и тот же квадрат.

> Что предлагаете?
Рассчитать, хотя бы примерно - ±1 м(м2) для этого квадрата, ±0,05 м(м2) для другого.
В Haversine/Vincenty были соответствующие формулы, в GeographicLib не знаю.

(0019370)
zed (manager)
07-10-2019 12:05

Тут какое-то противоречие - а зачем обычному пользователю знание о точности измерений? Да я и не представляю как это вообще можно посчитать и где отобразить. Можете попробовать открыть отдельную хотелку. Это же касается и постоянстве размеров выделений для разных карт. Что же касается данной хотелки, то если нету замечаний по генерированию квадратов, считаем её выполненной.
(0019373)
Hunter23071985 (reporter)
07-10-2019 13:40
edited on: 07-10-2019 13:44

Эх, zed, страшно далеки Вы от народа. )))
Проектировщиком в не молодом коллективе уж точно не работали.
Вот нужны генпланистам ряд спутников и карт 8х8 км, они их скачают и всё!
Хотя как скачают, им и это то сложно - не могут запомнить, что к чему.
Уж точно никому и в голову не придёт перестраивать квадрат под каждую карту.
И, раз задавали 8х8 км, то значит это всегда 8*10^5х8*10^5 мм, хотя это не так.

Как минимум - добавьте в Generator Options примечания,
что квадрат не сверхточен и подлежит перестройке при выборе новой карты.

(0019377)
zed (manager)
11-10-2019 09:38

Hunter23071985
Только что закончил реализацию 0003564 и теперь, если вы в меню "Вид - Проекция" зададите какую-то конкретную проекцию (например, Mercator / WGS84) то при склейке любой карты вы будете автоматически получать одинаковое разрешение (естественно, только при условии, что не будете руками изменять настройку проекции на вкладке Склейка). Это же касается и любых измерений линейкой - она будет показывать одни и те же цифры, вне зависимости от выбранной карты. Такое поведение линейки было и раньше, просто обращаю внимание. Т.е. для обычного пользователя, который не хочет вникать в нюансы, достаточно один раз задать фиксированную проекцию и жить спокойно.

- Users who viewed this issue
User List Anonymous (3459x), jatow (1x), vdemidov (4x), Tolik (2x), Hunter23071985 (36x), rass (8x), zed (36x)
Total Views 3546
Last View 29-03-2024 06:45

- Issue History
Date Modified Username Field Change
08-10-2012 17:32 rass New Issue
08-10-2012 17:32 rass File Added: 08-10-2012 20-31-08.jpg
09-10-2012 05:59 Tolik Note Added: 0009354
09-10-2012 05:59 Tolik Note Edited: 0009354 View Revisions
09-10-2012 06:46 vdemidov Note Added: 0009365
09-10-2012 06:49 vdemidov Relationship added parent of 0001188
09-10-2012 06:49 vdemidov Relationship added related to 0000663
09-10-2012 06:51 vdemidov Status new => confirmed
09-10-2012 06:52 vdemidov Product Version .Nightly => 110418
09-10-2012 06:52 vdemidov Target Version => 29xxxx
23-10-2012 10:55 rass Note Added: 0009713
29-10-2012 14:58 rass File Added: 29-10-2012 16-55-40.jpg
29-10-2012 15:12 rass Note Added: 0009777
29-10-2012 15:13 rass File Added: 29-10-2012 17-02-16.jpg
09-11-2012 21:06 vdemidov Relationship added has duplicate 0001686
24-12-2013 15:36 zed Relationship added related to 0002296
24-12-2013 16:05 vdemidov Relationship replaced has duplicate 0002296
16-04-2014 17:08 vdemidov Relationship added related to 0002408
06-10-2019 10:02 zed Assigned To => zed
06-10-2019 10:02 zed Status confirmed => assigned
06-10-2019 10:02 zed Target Version 29xxxx => 191221
06-10-2019 10:02 zed Summary Выделение квадратной области определяемый указанным радиусом вписанной окружности. => Выделение квадратной области определяемый указанным радиусом вписанной окружности
06-10-2019 10:03 zed Tag Attached: VIP
06-10-2019 10:06 zed Note Added: 0019353
06-10-2019 12:15 zed Note Added: 0019354
06-10-2019 12:27 zed Note Added: 0019355
06-10-2019 12:27 zed Note Edited: 0019355 View Revisions
06-10-2019 13:17 Hunter23071985 Note Added: 0019356
06-10-2019 13:21 Hunter23071985 Note Edited: 0019356 View Revisions
06-10-2019 13:24 Hunter23071985 Note Edited: 0019356 View Revisions
06-10-2019 13:26 zed File Added: m.kmz
06-10-2019 13:28 Hunter23071985 Note Edited: 0019356 View Revisions
06-10-2019 13:33 zed Note Added: 0019357
06-10-2019 13:36 zed Note Added: 0019358
06-10-2019 13:47 Hunter23071985 Note Added: 0019359
06-10-2019 13:49 Hunter23071985 Note Edited: 0019359 View Revisions
06-10-2019 13:54 Hunter23071985 Note Edited: 0019359 View Revisions
06-10-2019 14:06 zed Note Added: 0019360
06-10-2019 14:45 zed Note Added: 0019361
06-10-2019 15:21 Hunter23071985 Note Added: 0019362
06-10-2019 15:23 Hunter23071985 Note Edited: 0019362 View Revisions
06-10-2019 15:32 Hunter23071985 Note Edited: 0019362 View Revisions
06-10-2019 17:17 zed Note Added: 0019363
06-10-2019 17:31 Hunter23071985 Note Added: 0019364
06-10-2019 17:32 Hunter23071985 Note Edited: 0019364 View Revisions
06-10-2019 17:49 zed Note Added: 0019365
06-10-2019 18:20 Hunter23071985 Note Added: 0019366
06-10-2019 18:38 zed Note Added: 0019367
06-10-2019 18:52 Hunter23071985 Note Added: 0019368
06-10-2019 19:06 Hunter23071985 Note Edited: 0019368 View Revisions
07-10-2019 12:05 zed Note Added: 0019370
07-10-2019 13:40 Hunter23071985 Note Added: 0019373
07-10-2019 13:44 Hunter23071985 Note Edited: 0019373 View Revisions
07-10-2019 17:41 zed Status assigned => resolved
07-10-2019 17:41 zed Fixed in Version => 191221
07-10-2019 17:41 zed Resolution open => fixed
11-10-2019 09:38 zed Note Added: 0019377



Copyright © 2007 - 2024 SAS.Planet Team