Notes |
|
(0004780)
|
Doc74
|
06-01-2012 16:07
|
|
Поддерживаю. Сам (в других программах) работаю с пятиминутной сеткой. |
|
|
(0004782)
|
kefi
|
06-01-2012 16:28
(edited on: 06-01-2012 16:29) |
|
Идеально было бы , чтобы можно было выбирать шаг такой же как градусная сетка в номенклатуре карт ГШ, и плюс к этому задавать вручную.
Да и цвет линий сетки еще бы хорошо бы уметь настраивать. А то - плохо видно.
Ну и цифровое отображение значений градусных координат не всегда надо - иногда мешается, загромождает картинку, видно, надо, чтобы отключалось.
|
|
|
(0004783)
|
zed
|
06-01-2012 16:31
|
|
>Да и цвет еще бы хорошо бы уметь настраивать.
Есть в настройках.
>Ну и цифровое отображение значений градусных координат не всегда надо
Аналогично. |
|
|
(0004784)
|
Garl
|
06-01-2012 18:19
|
|
>Ну и цифровое отображение значений градусных координат не всегда надо
убираем галку "подписи"
новые более мелкие деления добавить делов на 5 минут. а вот с настраиваемыми - тут чуток придётся повозиться
предлагайте ещё деления |
|
|
(0004786)
|
kefi
|
06-01-2012 19:09
|
|
2 Garl > желательно бы не просто более мелкие,а чтобы в номенклатуре карт ГШ были |
|
|
(0004787)
|
Garl
|
06-01-2012 19:27
|
|
а смысл их в номенклатуре ГШ делать если есть ГШ по которому так же можно выделять?
а с настраиваемой колонкой не всё так просто ибо компонента TTBXEditItem не хочет работать так как надо мне. |
|
|
(0004790)
|
bk99
|
07-01-2012 08:23
|
|
[offtop]
На скрине conf_sas.png не переведено на русский "Tile borders:"
[/offtop] |
|
|
(0004791)
|
Garl
|
07-01-2012 11:11
|
|
настраиваемый шаг сделал в пределах от 10 градусов и до 0. ждём одобрения
https://bitbucket.org/azya/sasplanet/pull-requests
перевод - это некоторые просто постоянно тренеруются в смене английских фраз :)
там и в главном меню тоже болтается не переведенный пункт меню. |
|
|
(0004794)
|
kefi
|
07-01-2012 13:13
(edited on: 07-01-2012 13:19) |
|
Someone wrote
а смысл их в номенклатуре ГШ делать если есть ГШ по которому так же можно выделять?
Так ведь не только для выделения сетка нужна!Или Вы решили, что имелось ввиду делать шаг по листам ГШ? Нет, не по бланкам ГШ, а по тому шагу градусной сетки, который имеется в соответствующих бланках (в 1км-ке, например, по 10" по горизонтали и столько же по вертикали etc).
|
|
|
(0004795)
|
Garl
|
07-01-2012 13:44
|
|
>а по тому шагу градусной сетки, который имеется в соответствующих бланках
теперь ясно
кстати шаг сетки будет вводится в градусах: или "0.5" или "0,5" |
|
|
(0004796)
|
Tolik
|
07-01-2012 15:09
|
|
Однако, 10" вводить в градусах не очень-то удобно. Сколько надо вбить шестёрок для визуально правильной сетки? |
|
|
(0004797)
|
Garl
|
07-01-2012 17:01
(edited on: 07-01-2012 17:03) |
|
ну как вариант после одобрения прикручивания градусной сетки,
попытаюсь сделать поддержку автоматического пересчёта из минут и секунд ( хх" - минуты ; уу' - секунды) в градусы.
кстати внутри всё равно всё приводится к градусам с дробной частью.
|
|
|
(0004798)
|
kefi
|
07-01-2012 18:33
(edited on: 07-01-2012 18:46) |
|
2 Garl > Вообще, зачастую ГИС формат вводимых градусов понимают в довольно гибком интерфейсе, за что пользователи сразу начинают любить такую систему :
Например, форматы одного и того же задания (разделитель всегда пробел, для дробной части - точка(или зпт) ):
57 30' 30.53222" - если пользователь любит добавлять ' или ", программа все-равно поймет формат
57 30 30.53222 - если не любит ' ", то - тоже программа поймет
57.5 0 30.53222"
57.5 30.53222" - хоть и две части, но вторая - это секунды, а не минуты,т.к. есть признак секунд "
57 30.509 - градусы и минуты
57.50848 - только градусы
А можно еще и около окошка ввода пристроить поле для показа в альтернативном формате:
я бы сделал так:
Поле ввода [g m s]
(т.е. возможность в GUI исправлять по шаблону альтернативный формат в области цвета фона справа от окошка ввода- [g m] или [g s] или вообще [m s] etc )
|
|
|
(0004799)
|
Garl
|
07-01-2012 19:48
|
|
может проще сделать как в диалоге "перейти"
з.ы.
а предложения лучше рисовать и прикладывать сюда, ибо на словах я туго представляю |
|
|
(0004800)
|
kefi
|
07-01-2012 20:40
(edited on: 07-01-2012 20:43) |
|
2 Garl > приложил, но суть такова - если курсор ставится в область скобок [...], то значение в ней превращаются в текущий шаблон альтернативного отображения значения, этот шаблон при этом можно редактировать . Как только щелкается в другом месте мышкой или клавиатурный курсор удаляется из области скобок, так сразу там вместо шаблона альтернативного формата появляется само значение. На рис считается , что в верхнем поле в данный момент редактируется альтернативный шаблон, а в нижнем - отображается значение долготы в альтернативном формате
Значок градусов вообще еще думать нужно как набирать , он , как впрочем и мин (') и сек (") не обязательным должен быть.
Да, и по-моему, давно уже пора избавляться от пришедших из глубины веков понятия ГЕОГРАФИЧЕСКИЕ координаты - не солидное оно - для пятикласников. И путает - люди думают, что имеются ввиду астрономические координаты.
Писать нужно ГЕОДЕЗИЧЕСКИЕ, как положено на всех картах.
|
|
|
(0004801)
|
Garl
|
07-01-2012 22:40
|
|
ну "родил" как то вот так : см sas_1.png
сердито и по формату. |
|
|
(0004802)
|
kefi
|
07-01-2012 23:49
|
|
2 Garl > знак градуса обязательно набирать ? |
|
|
(0004803)
|
Tolik
|
08-01-2012 07:04
|
|
Форма получилась годная. Но что я ни пытался туда вводить (кроме целого числа), ничего не пролучается. Например, вставляю 0.1 - результат:
'0,1' is not a valid floating point value.
Обратите внимание на запятую вместо точки.
Со знаками ° ' " то же. |
|
|
(0004804)
|
Tolik
|
08-01-2012 07:08
|
|
А ещё бы динамический шаг сделать... Чтобы в экране всегда было видно несколько линий. |
|
|
(0004805)
|
Garl
|
08-01-2012 07:55
|
|
>знак градуса обязательно набирать ?
оно там будет по умолчанию, можно без знака градуса вводить
>'0,1' is not a valid floating point value.
может опять что с рагиональными установками? в любом случае сегодня попробую обновить до того что на картинке
>А ещё бы динамический шаг сделать
как нормально отшлифуем пользовательский шаг сетки - можно будет браться и за динамическую. |
|
|
(0004806)
|
Tolik
|
08-01-2012 08:44
(edited on: 08-01-2012 09:06) |
|
Да, на этот раз проблема с региональными.
Поменял в контрол панели десятичную точку на дес. запятую, перезапустил САС - теперь можно ввести дробные градусы (0.1 и 0,1).
|
|
|
(0004807)
|
Tolik
|
08-01-2012 08:49
(edited on: 08-01-2012 09:04) |
|
Ещё замечание.
Ввёл шаг 0,016666666666666666666666666666667, т.е. 1 минута.
Хотелось бы получить сетку, например, N50°29'00,00", N50°30'00,00" и т.д.
А видим N50°29'47,26", N50°30'47,23".
P.S. Кстати, нули лучше не показывать, чтобы надписи были покороче: N50°29', N50°30'
P.P.S. Ввести ровно минуту невозможно:
если ввести 0,01667, получается шаг 1'00,01"
если ввести 0,016667, получается шаг 0'59,98"
если ещё больше шестёрок - то же самое.
Наверно, надо повысть разрядность переменных или совсем переделать формулу.
|
|
|
(0004808)
|
Garl
|
08-01-2012 09:08
|
|
ну значения выводимых градусов берутся из системных настроек САС-Планеты
с значением сетки в 1 минуту - да действительно есть чуток из-за округлений : буду посмотреть |
|
|
(0004809)
|
Tolik
|
08-01-2012 09:14
(edited on: 08-01-2012 09:16) |
|
Это понятно, что представление координат берётся из настроек. Но в любом варианте видно много нулей, например: 50°30.0000' или 50.500000°. Все незначащие нули хотелось бы обрезать.
|
|
|
(0004810)
|
Garl
|
08-01-2012 09:23
|
|
>Все незначащие нули хотелось бы обрезать.
согласен.
первопланово хочу переделать чтоб в инишнике
Scale хранилось в градусах минутах и секундах.
вроде как должна повыситься точность и править будет более понятно |
|
|
(0004811)
|
Tolik
|
08-01-2012 09:28
|
|
А, вон в чём дело: Scale=1666
Мало разрядов. |
|
|
(0004812)
|
zed
|
08-01-2012 09:40
|
|
>Scale хранилось в градусах минутах и секундах.
Зачем извращаться? Максимальная точность у типа Double, вот его и надо юзать при расчётах и всех конвертациях. А минуты и секунды это только юзеру на экран если вывести. |
|
|
(0004813)
|
kefi
|
08-01-2012 09:44
|
|
Так что - калькулятор-то форматов и шаг по бланкам ГШ сделать - не судьба ? |
|
|
(0004814)
|
Garl
|
08-01-2012 09:59
(edited on: 08-01-2012 10:04) |
|
>А минуты и секунды это только юзеру на экран если вывести.
в этом то и дело что 1 минута при округлении пересчёте и выводе на экран превращается в 56 секунд.
промежуточный итог: принцип хранения менять не стоит. переходим на Double
продолжаю ковырять код дальше
>Так что - калькулятор-то форматов и шаг по бланкам ГШ сделать - не судьба ?
и шаг ГШ и калькулятор(конвертер) на сколько я его себе представляю будут.
|
|
|
(0004821)
|
Garl
|
10-01-2012 04:23
|
|
|
|
(0004823)
|
Tolik
|
10-01-2012 05:07
|
|
Отлично!
Только маленькое замечание.
Сделал шаг 0°01'00.00", некоторые метки выглядят хорошо (55°49'), а некоторые так:
55°46'60" 37°31'60" |
|
|
(0004824)
|
Garl
|
10-01-2012 05:15
|
|
да, это глюк уже основной функции программы.
как дойдут руки попроавлю. |
|
|
(0004826)
|
Garl
|
10-01-2012 08:06
|
|
кстати что делать с выделениями по Гражусней сетке в автоматическом режиме?
моё предложение - не выделять.
дальше из мелочей : нужно ли динамически менять (отображать) текущий шаг в поле ввода опять же в автоматическом режиме? |
|
|
(0004827)
|
Tolik
|
10-01-2012 08:29
(edited on: 10-01-2012 11:27) |
|
case AZoom of
1..3: Result.X := 10;
4..22: Result.X := 320/Power(2,AZoom);
23,24: Result.X := 320/Power(2,22);
Может сделать лучше таблицу для каждого зума, чтобы шаг сетки был круглым числом?
Например:
1..6: 10
7: 5
8: 2
9: 1
10: 30'
11: 20'
12: 10'
13: 5'
14: 2'
15: 1'
16: 30"
17: 20"
18: 10"
19: 5"
20: 2"
21: 1"
22: 0.5"
23,24: 0.2"
|
|
|
(0004828)
|
Garl
|
10-01-2012 09:11
(edited on: 10-01-2012 10:55) |
|
изначально оно так и было.
в принципе можно и CASE прилепить.
вот так
case AZoom of
1..6: Result.X := 10;
7 : Result.X := 5;
8 : Result.X := 2;
9 : Result.X := 1;
10 : Result.X := 30/60;
11 : Result.X := 20/60;
12 : Result.X := 10/60;
13 : Result.X := 5/60;
14 : Result.X := 2/60;
15 : Result.X := 1/60;
16 : Result.X := 30/3600;
17 : Result.X := 20/3600;
18 : Result.X := 10/3600;
19 : Result.X := 5/3600;
20 : Result.X := 2/3600;
21 : Result.X := 1/3600;
22 : Result.X := 30/216000;
23 : Result.X := 20/216000;
24 : Result.X := 10/216000;
else Result.X := 0;
end;
|
|
|
(0004829)
|
zed
|
10-01-2012 09:47
|
|
Garl, отличная сетка получилась. Респект :) |
|
|
(0004830)
|
Garl
|
10-01-2012 09:49
|
|
:) старался. теперь отшлифовать и делов :) |
|
|
(0004833)
|
Tolik
|
10-01-2012 11:30
(edited on: 10-01-2012 11:31) |
|
> в принципе можно и CASE прилепить.
Я именно это и имел в виду!
Насчёт 216000 это Вы загнули :) Нет такой единицы - 1/60 секунды.
Лучше так:
22 : Result.X := .5/3600;
23,24 : Result.X := .2/3600;
|
|
|
(0004839)
|
Garl
|
10-01-2012 13:33
(edited on: 10-01-2012 13:35) |
|
приложил 2 варианта , давайте определимсся с шагом.
и кстати
( 23 : Result.X := 20/216000;) <> (23,24 : Result.X := .2/3600;)
|
|
|
(0004840)
|
vdemidov
|
10-01-2012 14:14
(edited on: 10-01-2012 14:15) |
|
Ребята. Не забываем, что нумерация зумов с 0 до 23. По крайней мере внутри кода SAS.Планеты.
|
|
|
(0004841)
|
Tolik
|
10-01-2012 18:42
(edited on: 11-01-2012 09:43) |
|
Мне нравится SASPlanet_1.exe
В варианте 2 на ноутбуке видно слишком мало линий.
Повторяю, 20/216000 - неправильно, т.к. это не равно 0.2 секунды. Правильно 0.2/3600.
Исправьте, пожалуйста.
|
|