SASGIS

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


View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000163SAS.Планета[All Projects] Хотелкаpublic16-10-2010 13:4624-04-2011 18:24
ReportergpsMax 
Assigned Tovdemidov 
PrioritynormalSeverityminorReproducibilityhave not tried
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version101014.Alfa 
Target Version110311.AlfaFixed in Version110311.Alfa 
Summary0000163: Доработка окна "Перейти к" (универсальный ввод координат)
DescriptionСейчас в SAS.Планете нет возможности перейти по координатам, отличным по формату от dd° mm' ss'', да и даже в этом случае придётся вместо ввода одной строчки вводить цифры в шесть полей.

Поиск в яндексе и в гугле проблему не решает, зачастую они выдают неточные/неверные точки даже для своего родного формата dd.dddddd°.

Хотелось бы вместо имеющихся шести полей вводить строку координат как единое целое, с возможностью полуавтоматического распознавания их формата.
Additional InformationФорматов координат всего три:
dd.dddddd°
dd° mm.mmm'
dd° mm' ss''

Наброски по их распознаванию, последовательно:

1. Подготовка строки
- Все символы, отличные от [0-9'°, ], превращаем в пробелы
- Удаляем начальные и конечные пробелы строки
- Двойные пробелы превращаем в одинарные (возможно сделать небольшой рекурсией)

2. Распознавание
- Если в строке есть '', то это третий вариант. Выход.
- Если нет '', но есть ', то второй. Выход.
- Если нет ', но есть °, то первый. Выход.
- Если в строке только один пробел, то это первый вариант. Выход.
- Если три, то это второй вариант. Выход.
- Если пять, то третий. Выход.
- Если дошли до этого места, значит пользователь ввёл что-то непонятное. Выдаём окошко с некоторым ругательным текстом и ничего более не делаем.
Tagsкоординаты, метки, перейти к
Attached Files

- Relationships
parent of 0000466closedGarl Универсальный ввод координат - 2 
parent of 0000532closedvdemidov Переход на точку 
related to 0000074closedvdemidov Формат представления координат 
related to 0000901closedGarl Определение места по URL из maps.google/yandex 
related to 0001126closedvdemidov Универсальный ввод координат - 3 

-  Notes
(0000359)
pasha_49 (reporter)
16-10-2010 14:54

Поддерживаю
(0000360)
Ledmyc (reporter)
16-10-2010 16:00

А если пользователь введёт что-то вроде 53° 32°16′30″?
И как опрнделить, что есть широта, а что — долгота?

Думаю, нужно ещё распознавать N/S, E/W и/или с/ю, в/з, ш и д, а также «-» (минус) в случае S и W. Нужно бы предусмотреть возможность отделения широты от долготы, напроимер, символами ,;/ и др. (символ минуса — и разделитель, и указатель на полушарие).
Если что-то невозможно определить, то предполагаем один из возможных вариантов, спрашиваем о нём пользователя посредством диалогового окна. Нажимает «Да» — хорошо, «Нет» — просим заполнить 6 полей в таком окне, как сейчас.

Но всё-таки надо бы подумать…
(0000361)
vdemidov (manager)
16-10-2010 18:48

Думайте и пишите парсер. Подробности на форуме http://sasgis.org/forum/viewtopic.php?f=47&t=1114
(0000362)
gpsMax (manager)
17-10-2010 08:34
edited on: 17-10-2010 08:37

>И как определить, что есть широта, а что — долгота?
Если не указано иного, то первое широта, второе долгота. Практически везде традиционно так, начиная от чуть ли не средневековых форм записи координат, и до современных - "...северной широты, восточной долготы..."

Минус, да, упустил. Но он в эту схему отлично ложится, просто будет отрицательное число в координате. В первом шаге подготовки множество годных символов будет включать в себя и минус: [0-9'°, \-]

Пользователя лишними окнами доставать не надо. Если не распознали, то выдаем окошко с небольшой подсказкой по вариантам форматов, вот и всё. Старую форму с шестью полями ввода оставить никто ведь не мешает.

>Нужно бы предусмотреть возможность отделения широты от долготы
Уже. Как минимум, по смыслу там должен быть пробел. Или другой разделяющий символ - всякие запятые, слэши и прочая фигня будет преобразована в пробелы, из которых "выпарены" дубликаты, и останется, опять же, один пробел-разделитель. Такая общая схема позволит вставлять в строку поиска текст со всей словесной обвязкой, например:

... На острове с широтой XXX и долготой YYY градусов...
... http://wikimapia.org/#lat=55.8361928&lon=37.5437164 ...
... http://maps.google.ru/?ll=55.686875,37.471619...

То есть, копируем кусок текста и вставляем в форму, которая его сама очистит от лишнего. Лишь бы лишних цифр не было.

(0000363)
Ledmyc (reporter)
17-10-2010 12:42
edited on: 17-10-2010 16:54

Очень интересен второй пример (со ссылкой на карту Google) тем, как всё же должны отделяться целая и дробная части координат — точкой или запятой.
По-моему стоило бы предусмотреть оба варианта и уж на лету определять, какой из них в конкретной строке используется.

>Минус, да, упустил. Но он в эту схему отлично ложится, просто будет отрицательное число в координате.
С минусом поаккуратнее надо бы быть: минус-то ставится один, но относится он и к градусам, и к минутам, и к секундам…

(0000364)
gpsMax (manager)
17-10-2010 18:43

С таким стремлением учесть все-все-все варианты эта фича долго останется теоретической. Выше описан алгоритм из простых шагов, который на 95% входных данных будет давать стабильно хороший результат. Да, он в некоторых случаях спотыкается и не понимает, чего бы от него хотел пользователь, ну так это ж и не волшебная палочка, а просто чуть расширенная обработка. В SAS нужно хотя бы минимально улучшить функционал по переходу к координатам. А то эта проблема обсуждается более года, и всё это время в программе остаётся старая неудобная для ввода форма.
(0000373)
gpsMax (manager)
20-10-2010 19:56

Кусочек по поводу вбивания координат в поиск гугла
http://sasgis.org/forum/viewtopic.php?f=2&t=13&p=13038#p12962

- Users who viewed this issue
User List Anonymous (2574x)
Total Views 2574
Last View 19-04-2024 17:00

- Issue History
Date Modified Username Field Change
16-10-2010 13:46 gpsMax New Issue
16-10-2010 14:54 pasha_49 Note Added: 0000359
16-10-2010 16:00 Ledmyc Note Added: 0000360
16-10-2010 18:48 vdemidov Note Added: 0000361
16-10-2010 18:49 vdemidov Status new => acknowledged
16-10-2010 18:49 vdemidov Target Version => 29xxxx
17-10-2010 08:34 gpsMax Note Added: 0000362
17-10-2010 08:37 gpsMax Note Edited: 0000362 View Revisions
17-10-2010 12:42 Ledmyc Note Added: 0000363
17-10-2010 16:54 Ledmyc Note Edited: 0000363 View Revisions
17-10-2010 18:43 gpsMax Note Added: 0000364
20-10-2010 19:56 gpsMax Note Added: 0000373
07-11-2010 19:29 gpsMax Tag Attached: метки
07-11-2010 19:29 gpsMax Tag Attached: координаты
10-03-2011 09:32 vdemidov Status acknowledged => resolved
10-03-2011 09:32 vdemidov Fixed in Version => 110311.Alfa
10-03-2011 09:32 vdemidov Resolution open => fixed
10-03-2011 09:32 vdemidov Assigned To => vdemidov
10-03-2011 09:33 vdemidov Target Version 29xxxx => 110311.Alfa
06-04-2011 16:33 gpsMax Tag Attached: перейти к
06-04-2011 16:34 gpsMax Relationship added related to 0000074
07-04-2011 02:57 gpsMax Relationship added related to 0000466
09-04-2011 15:45 gpsMax Summary Доработка окна "Перейти к" => Доработка окна "Перейти к" (универсальный ввод координат)
09-04-2011 15:45 gpsMax Relationship added parent of 0000532
09-04-2011 15:45 gpsMax Relationship replaced parent of 0000466
24-04-2011 18:24 Tolik Status resolved => closed
10-08-2011 16:00 gpsMax Relationship added related to 0000901
20-01-2012 12:49 gpsMax Relationship added related to 0001126



Copyright © 2007 - 2024 SAS.Planet Team