Страница 1 из 1
Подписи глубин на карте
Добавлено: 09 янв 2014, 07:50
angelok
Всех С Новым Годом!
Желаю счастья и достижения поставленных целей!
А теперь к вопросу: У меня есть точечный файл (грид). У каждой точки значение глубины, например 3,26 3,42. На карте эти глубины должны подписываться так 3 3 Я создала выражение для надписи:
2 4
int([ELEVATION_IN_METRES]) &"<SUB>"&" "& int((( [ELEVATION_IN_METRES] -int( [ELEVATION_IN_METRES] ))*10),0)&"</SUB>" . Но почему то если в таблице значение 3,4 он подписывает 3 ????
3
Может у кого-нибудь есть идеи как правильно сделать выражение, я думала может округлить сначало, но у меня округление происходит только в большую сторону...
Re: Подписи глубин на карте
Добавлено: 09 янв 2014, 07:52
angelok
Пример как на карте выглядят подписи
Re: Подписи глубин на карте
Добавлено: 09 янв 2014, 08:05
gamm
а что у вас там 0 делает (помечен стрелкой)? это же не не round() а int(), или напишите round() вместо int(), что будет правильнее (похоже, это и подразумевалось)
Код: Выделить всё
int(
(
(
[ELEVATION_IN_METRES] -int(
[ELEVATION_IN_METRES]
)
)*10
),0 <-----------
)
Re: Подписи глубин на карте
Добавлено: 09 янв 2014, 08:13
Monstria
mid([NAME],1,1) & "<SUB>" & mid([NAME],3,1) & "</SUB>" - не проще?
В вашем случае вместо NAME -> ELEVATION_IN_METRES
Re: Подписи глубин на карте
Добавлено: 09 янв 2014, 08:30
gamm
Monstria писал(а):mid([NAME],1,1) & "<SUB>" & mid([NAME],3,1) & "</SUB>" - не проще?
не, тогда round([NAME],1) нужен, а так будет отсечение остатка дробной части. Кстати, float -> string автоматически преобразуется (не знаком с использованным скриптовым языком)?
Re: Подписи глубин на карте
Добавлено: 09 янв 2014, 08:36
angelok
Monstria писал(а):mid([NAME],1,1) & "<SUB>" & mid([NAME],3,1) & "</SUB>" - не проще?
В вашем случае вместо NAME -> ELEVATION_IN_METRES
Сори, не правильно скопировала код
int([ELEVATION_IN_METRES]) &"<SUB>"&" "& int(( [ELEVATION_IN_METRES] -int( [ELEVATION_IN_METRES] ))*10)&"</SUB>"
Re: Подписи глубин на карте
Добавлено: 09 янв 2014, 08:44
Monstria
gamm писал(а):Кстати, float -> string автоматически преобразуется (не знаком с использованным скриптовым языком)?
Да автоматом...
gamm писал(а):не, тогда round([NAME],1) нужен, а так будет отсечение остатка дробной части
Как я понял задача была разделить целую и дробную часть и показать разным шрифтом - согласен с тем что не совсем корректно предложил вариант - не учитывая что целая и дробная часть может быть с десятками
Такой вариант более корректен - int([NAME]) & "<SUB>" & MID([NAME],instr([NAME],",")+1) & "</SUB>"
Re: Подписи глубин на карте
Добавлено: 09 янв 2014, 08:46
Monstria
angelok писал(а): int(( [ELEVATION_IN_METRES] -int( [ELEVATION_IN_METRES] ))*10)
Вы из целого числа вычитаете это же число и умножаете на десять - в результате всегда ноль - я ошибаюсь?
Re: Подписи глубин на карте
Добавлено: 09 янв 2014, 08:51
angelok
Monstria писал(а):mid([NAME],1,1) & "<SUB>" & mid([NAME],3,1) & "</SUB>" - не проще?
В вашем случае вместо NAME -> ELEVATION_IN_METRES
Всё получилось!!! Спасибо, большое!!!
Не подскажите где Вы нашли этот оператор "mid" и как он работает

. Что означают цифры в скобках
mid([NAME],1,1)
Re: Подписи глубин на карте
Добавлено: 09 янв 2014, 09:01
angelok
Спасибо еще раз всем за ответы!!!!!!!!!!
Re: Подписи глубин на карте
Добавлено: 09 янв 2014, 09:17
ericsson
angelok писал(а):Не подскажите где Вы нашли этот оператор "mid" и как он работает

. Что означают цифры в скобках
mid([NAME],1,1)
Вот я первый раз в жизни вижу скрипт для ArcGIS, но почему-то сразу нашел
http://webhelp.esri.com/arcgisdesktop/9 ... lculations