SASGIS - SAS.Планета
View Issue Details
0001021SAS.Планета[All Projects] Багpublic22-10-2011 20:4408-10-2012 14:41
NavigatorB 
zed 
normalmajoralways
resolvedfixed 
WindowsXPSP3
120808 
121010121010 
0001021: Измерение растояния
Если при измерении расстояния разница долгот больше 180 градусов, то расстояние считается по экватору.
Паралле́ль — линия сечения поверхности земного шара плоскостью, параллельной плоскости экватора.

 
На глобусе параллель рисуется в виде окружности, все точки которой равноудалены от экватора. Длины параллелей различны — они увеличиваются при приближении к экватору и уменьшаются к полюсам. Все точки одной параллели имеют одинаковую широту, но различную долготу. Экватор — самая длинная параллель. Для вычисления длины одного градуса дуги произвольной параллели можно умножить 111,3 км (длину дуги экваториальной параллели в 1 градус) на косинус угла, соответствующего искомой параллели.

Принято определение экватора как нулевой параллели. Северный полюс имеет широту в +90 градусов, южный — в −90°. Расстояние между двумя параллелями, которые отличаются на 1 градус, — примерно 111 км.

Параллели не являются ортодромиями, то есть кратчайшими линиями на поверхности между любыми их двумя точками.

измерение, линейка
related to 0000217closed feya Некорректная выдача результата измерения расстояний 
related to 0001116confirmed  При измерении расстояний отображать линии в виде дуг 
parent of 0001188resolved zed Алгоритм проецирования точки на эллипсоиде 
Issue History
22-10-2011 20:44NavigatorBNew Issue
22-10-2011 23:35gpsMaxTag Attached: измерение
22-10-2011 23:37gpsMaxTag Attached: линейка
22-10-2011 23:38gpsMaxRelationship addedrelated to 0000215
22-10-2011 23:42gpsMaxNote Added: 0004162
22-10-2011 23:42gpsMaxStatusnew => acknowledged
22-10-2011 23:42gpsMaxDescription Updatedbug_revision_view_page.php?rev_id=2102#r2102
23-10-2011 05:52bk99Note Added: 0004164
23-10-2011 19:40NavigatorBNote Added: 0004168
19-12-2011 10:10vdemidovRelationship addedrelated to 0000217
19-12-2011 10:11vdemidovNote Added: 0004548
19-12-2011 10:12vdemidovNote Edited: 0004548bug_revision_view_page.php?bugnote_id=4548#r2251
14-01-2012 08:26TolikNote Added: 0004947
14-01-2012 08:28TolikNote Edited: 0004947bug_revision_view_page.php?bugnote_id=4947#r2453
14-01-2012 09:56TolikNote Edited: 0004947bug_revision_view_page.php?bugnote_id=4947#r2456
14-01-2012 09:56TolikNote Edited: 0004947bug_revision_view_page.php?bugnote_id=4947#r2457
14-01-2012 10:01TolikNote Edited: 0004947bug_revision_view_page.php?bugnote_id=4947#r2458
14-01-2012 10:02TolikNote Edited: 0004947bug_revision_view_page.php?bugnote_id=4947#r2459
14-01-2012 10:14TolikNote Edited: 0004947bug_revision_view_page.php?bugnote_id=4947#r2460
14-01-2012 10:16TolikNote Edited: 0004947bug_revision_view_page.php?bugnote_id=4947#r2461
15-01-2012 11:19zedStatusacknowledged => feedback
15-01-2012 13:25TolikNote Added: 0004960
15-01-2012 14:25zedNote Added: 0004963
15-01-2012 15:35TolikNote Added: 0004968
15-01-2012 15:40zedNote Added: 0004969
15-01-2012 15:44TolikStatusfeedback => acknowledged
15-01-2012 16:47vdemidovNote Added: 0004973
15-01-2012 17:22TolikNote Added: 0004974
15-01-2012 17:45vdemidovNote Added: 0004975
09-08-2012 07:15vdemidovProduct Version.Nightly => 120808
28-08-2012 14:01vdemidovStatusacknowledged => confirmed
28-08-2012 14:02vdemidovTarget Version => 24xxxx
28-08-2012 14:02vdemidovDescription Updatedbug_revision_view_page.php?rev_id=4181#r4181
08-10-2012 14:09vdemidovRelationship addedparent of 0001188
08-10-2012 14:11vdemidovNote Added: 0009299
08-10-2012 14:11vdemidovStatusconfirmed => resolved
08-10-2012 14:11vdemidovFixed in Version => 121010
08-10-2012 14:11vdemidovResolutionopen => fixed
08-10-2012 14:11vdemidovAssigned To => zed
08-10-2012 14:12vdemidovRelationship deletedrelated to 0000215
08-10-2012 14:19vdemidovNote Added: 0009300
08-10-2012 14:19vdemidovRelationship addedrelated to 0001116
08-10-2012 14:38zedNote Added: 0009303
08-10-2012 14:39zedTarget Version24xxxx => 121010
08-10-2012 14:41vdemidovNote Added: 0009304

Notes
(0004162)
gpsMax   
22-10-2011 23:42   
И правда, расстояния теперь странные. Когда-то было нормально.
(0004164)
bk99   
23-10-2011 05:52   
Спасибо за "Дополнительные сведения"! :)
(0004168)
NavigatorB   
23-10-2011 19:40   
Всегда пожалуста :)
(0004548)
vdemidov   
19-12-2011 10:11   
(edited on: 19-12-2011 10:12)
Это последствия исправления Feya хотелки 0000217.
Лично я удалил бы этот креатив нафиг и считал расстояние всегда по кратчайшему. А отрисовку когда-нибудь исправим.

(0004947)
Tolik   
14-01-2012 08:26   
(edited on: 14-01-2012 10:16)
Сейчас (Nightly.4781) измерения работают нормально. 10 градусов на экваторе - 1112.923 км, на 80-й параллели - 193.637 км.

Планируется ли отрисовка линий измерения расстояний в виде дуги? (открывать новую хотелку?)

P.S. На зуме 4 и выше вроде нормально, а 1-3 нет.
P.P.S. И поясните, пожалуйста: хотя отображается прямая (а не "ортодромия") измеряется всё-таки кратчайшее расстояние между двумя точками?
P.P.P.S. Напряг извилины и пришёл к выводу, что измеряется не кратчайшее расстояние, а длина отрезка прямой: 1112.923 * cos (80°) = 193.257

(0004960)
Tolik   
15-01-2012 13:25   
zed, что Вы имели в виду, переводя статус в feedback?
feedback - это вопросы к репортеру. В данном случае, наоборот, прояснить картину должны девелоперы.

Я бы хотел увидеть в САС.Планете кривые, показывающие кратчайшее расстояние, и соответствующие цифры. Если кому-то нужны измерения по абстрактным линиям, которые на данной проекции выглядят как прямые, можно это оставить (добавить опцию в настройки).
(0004963)
zed   
15-01-2012 14:25   
>feedback - это вопросы к репортеру
Вот к нему и вопрос: баг "По паралели ближе к полюсам тоже равна 40068км. К полюсам растояние по паралели должно стремиться к нулю." присутствует до сих пор или нет? Если нет, то закрываем. Как там и что считается, это другой вопрос.
(0004968)
Tolik   
15-01-2012 15:35   
Ага, присутствует - на зумах 1-3. Я написал выше в P.S.
(0004969)
zed   
15-01-2012 15:40   
Ну, на это по-моему можно закрыть глаза.
(0004973)
vdemidov   
15-01-2012 16:47   
Дело не в зуме, а в длинне отрезка. Если он больше половины паралели, то будут глюки из за креатива, который добавил feya. Отображение дугами в ближайшем будущем не планируется.
(0004974)
Tolik   
15-01-2012 17:22   
А очень хочется отображение дугами...
Расстояния-то считаются по дугам или по "прямым"?
(0004975)
vdemidov   
15-01-2012 17:45   
Считаются расстояния по дугам.
(0009299)
vdemidov   
08-10-2012 14:11   
С внедрением Zed'ом нового метода вычисления расстояния канули в лету костыли расставленные Feya приводившие к этому багу. Ура.
(0009300)
vdemidov   
08-10-2012 14:19   
Правда баг 0000217 можно считать снова открытым, но если кто-то откроет что-то подобное, то я закрою с решением won't fix тем более что уже есть хотелка с рисованием отрезков дугами.
(0009303)
zed   
08-10-2012 14:38   
Теоретически, можно сделать workaround и принудительно ставить промежуточную точку на отрезке, координаты крайних точек которого отличаются более чем на 180 градусов. Тогда будет всё верно.

С другой стороны, GoogleEarth точно так же считает кратчайшее расстояние, правда и рисует правильный отрезок.
(0009304)
vdemidov   
08-10-2012 14:41   
Ну это 1116 хотелка. Но для ее реализации в IDatum нужно еще запихнуть функцию возвращающую заданное количество точек равномерно раскиданных по отрезку между двумя заданными точками. Реализовывать это при помощи текущих функций будет слишком медленно.