SASGIS - SAS.Планета
View Issue Details
0002587SAS.Планета[All Projects] Хотелкаpublic24-12-2014 00:3802-01-2015 07:36
ndrua 
vdemidov 
normaltweakalways
closedwon't fix 
 
 
0002587: устранение разрыва карты с помощью установки стартового меридиана
предлагаю ещё одно упрощённое решение "зависшей" хотелки 0002487 (проблема разрыва карты, очень неудобная, например, при изучении тихоокеанского региона).
можно в меню "Вид" сделать пункт "Выбрать лист", в котором предусмотреть, например, следующие пункты: "Лист W180-0-E180" и "Лист W30-E180-W30", они же, например, "Лист Atlantic" и "Лист Pacific" (для наглядности прилагаю скриншот листа Pacific). в принципе, и этих двух будет вполне достаточно, чтобы устранить все неудобства. но можно сделать ещё каких-нибудь (по просьбам трудящихся :). например, "Лист W170-0-W170" (он устраняет неудобный разрыв восточной Евразии и Фиджи).
а можно, вообще, сделать более универсальный вариант этого инструмента, предусмотрев в меню "Вид" пункт "Начальный меридиан", в котором пользователь будет просто выбирать меридиан с которого будет начинаться развёртывание листа глобальной карты. и те же три уже упомянутых листа можно будет получить просто задав начальный меридиан как "W180","W30" и "W170". но в этом случае пользователь будет иметь гораздо больше вариантов, ограниченным только шагом меридианов (например 10 градусов позволяет получить 35 вариантов листов).
по-моему, это очень полезный и назревший инструмент.
No tags attached.
related to 0002487confirmed  Закольцовка карты по горизонтали, чтобы восточное полушарие без разрыва переходило в западное 
jpg 1.jpg (277,323) 24-12-2014 00:38
http://www.sasgis.org/mantis/file_download.php?file_id=1809&type=bug
Issue History
24-12-2014 00:38ndruaNew Issue
24-12-2014 00:38ndruaFile Added: 1.jpg
24-12-2014 07:47vdemidovRelationship addedrelated to 0002487
24-12-2014 07:50vdemidovNote Added: 0015068
24-12-2014 07:50vdemidovStatusnew => resolved
24-12-2014 07:50vdemidovResolutionopen => won't fix
24-12-2014 07:50vdemidovAssigned To => vdemidov
24-12-2014 07:50vdemidovStatusresolved => closed
24-12-2014 07:59zedNote Added: 0015069
24-12-2014 08:28vdemidovNote Added: 0015070
24-12-2014 08:29vdemidovNote Added: 0015071
24-12-2014 22:15vasketsovNote Added: 0015072
25-12-2014 07:27vdemidovNote Added: 0015073

Notes
(0015068)
vdemidov   
24-12-2014 07:50   
По сложности реализации в несколько раз сложнее чем 0002487 хотя бы потому, что требует добавления в ГУЙ кучи пунктов.
(0015069)
zed   
24-12-2014 07:59   
Ты бы где-нибудь хоть на пальцах описал, что нужно сделать чтобы реализовать эту или ту хотелку. Как добавить в гуй меню, понятно и просто, а вот остальное всё в тумане.
(0015070)
vdemidov   
24-12-2014 08:28   
А все остальное требует офигительной кучи изменений в порядке работы с прямоугольниками пикселов, тайлов и координат. Нужно что бы все операции принимающие прямоугольник (координат, пикселей, тайлов) были готовы к тому, что у него левая граница может быть больше чем правая, и считали что это прямоугольник пересекающий 180-й мередиан и действовали соответственно. Нужно проверить все циклы перебора тайлов в прямоугольнике (Хорошо если там используется итератор тайлов, а если просто два вложенных цикла?). И возможно куча других мест, о которых я просто не задумывался.
(0015071)
vdemidov   
24-12-2014 08:29   
В общем, я не готов этим заниматься в ближайшее десятилетие. И к пул реквестам и коммитам на эту тему буду относится очень внимательно.
(0015072)
vasketsov   
24-12-2014 22:15   
>левая граница может быть больше чем правая
А если правую просто разрешить больше чем 180? Итераторы не пострадают.
(0015073)
vdemidov   
25-12-2014 07:27   
Ну да, но тогда появится такая проблема, что эти тайлы, полученные от итеартора, с точки зрения конвертера координат станут невалидными и придется перед их использованием проводить нормализацию или опять таки везде где используются координаты тайлов переделывать с учетом необходимости нормализации значений. Практически те же яйца вид в профиль.