Подписи глубин на карте
-
- Активный участник
- Сообщения: 184
- Зарегистрирован: 05 июн 2013, 11:45
- Репутация: 0
Подписи глубин на карте
Всех С Новым Годом!
Желаю счастья и достижения поставленных целей!
А теперь к вопросу: У меня есть точечный файл (грид). У каждой точки значение глубины, например 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
Может у кого-нибудь есть идеи как правильно сделать выражение, я думала может округлить сначало, но у меня округление происходит только в большую сторону...
Желаю счастья и достижения поставленных целей!
А теперь к вопросу: У меня есть точечный файл (грид). У каждой точки значение глубины, например 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
Может у кого-нибудь есть идеи как правильно сделать выражение, я думала может округлить сначало, но у меня округление происходит только в большую сторону...
-
- Активный участник
- Сообщения: 184
- Зарегистрирован: 05 июн 2013, 11:45
- Репутация: 0
Re: Подписи глубин на карте
Пример как на карте выглядят подписи
- Вложения
-
- Пример подписей на карте
- Depth.png (10.08 КБ) 7985 просмотров
-
- Гуру
- Сообщения: 4168
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1107
- Ваше звание: программист
- Откуда: Казань
Re: Подписи глубин на карте
а что у вас там 0 делает (помечен стрелкой)? это же не не round() а int(), или напишите round() вместо int(), что будет правильнее (похоже, это и подразумевалось)
Код: Выделить всё
int(
(
(
[ELEVATION_IN_METRES] -int(
[ELEVATION_IN_METRES]
)
)*10
),0 <-----------
)
-
- Активный участник
- Сообщения: 133
- Зарегистрирован: 17 май 2011, 06:22
- Репутация: 50
- Откуда: Нижний Новгород
Re: Подписи глубин на карте
mid([NAME],1,1) & "<SUB>" & mid([NAME],3,1) & "</SUB>" - не проще?
В вашем случае вместо NAME -> ELEVATION_IN_METRES
В вашем случае вместо NAME -> ELEVATION_IN_METRES
-
- Гуру
- Сообщения: 4168
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1107
- Ваше звание: программист
- Откуда: Казань
Re: Подписи глубин на карте
не, тогда round([NAME],1) нужен, а так будет отсечение остатка дробной части. Кстати, float -> string автоматически преобразуется (не знаком с использованным скриптовым языком)?Monstria писал(а):mid([NAME],1,1) & "<SUB>" & mid([NAME],3,1) & "</SUB>" - не проще?
-
- Активный участник
- Сообщения: 184
- Зарегистрирован: 05 июн 2013, 11:45
- Репутация: 0
Re: Подписи глубин на карте
Сори, не правильно скопировала код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>"
-
- Активный участник
- Сообщения: 133
- Зарегистрирован: 17 май 2011, 06:22
- Репутация: 50
- Откуда: Нижний Новгород
Re: Подписи глубин на карте
Да автоматом...gamm писал(а):Кстати, float -> string автоматически преобразуется (не знаком с использованным скриптовым языком)?
Как я понял задача была разделить целую и дробную часть и показать разным шрифтом - согласен с тем что не совсем корректно предложил вариант - не учитывая что целая и дробная часть может быть с десяткамиgamm писал(а):не, тогда round([NAME],1) нужен, а так будет отсечение остатка дробной части

Такой вариант более корректен - int([NAME]) & "<SUB>" & MID([NAME],instr([NAME],",")+1) & "</SUB>"
-
- Активный участник
- Сообщения: 133
- Зарегистрирован: 17 май 2011, 06:22
- Репутация: 50
- Откуда: Нижний Новгород
Re: Подписи глубин на карте
Вы из целого числа вычитаете это же число и умножаете на десять - в результате всегда ноль - я ошибаюсь?angelok писал(а): int(( [ELEVATION_IN_METRES] -int( [ELEVATION_IN_METRES] ))*10)
-
- Активный участник
- Сообщения: 184
- Зарегистрирован: 05 июн 2013, 11:45
- Репутация: 0
Re: Подписи глубин на карте
Monstria писал(а):mid([NAME],1,1) & "<SUB>" & mid([NAME],3,1) & "</SUB>" - не проще?
В вашем случае вместо NAME -> ELEVATION_IN_METRES
Всё получилось!!! Спасибо, большое!!!
Не подскажите где Вы нашли этот оператор "mid" и как он работает

mid([NAME],1,1)
-
- Активный участник
- Сообщения: 184
- Зарегистрирован: 05 июн 2013, 11:45
- Репутация: 0
Re: Подписи глубин на карте
Спасибо еще раз всем за ответы!!!!!!!!!!
-
- Гуру
- Сообщения: 3321
- Зарегистрирован: 27 июл 2009, 19:26
- Репутация: 748
- Ваше звание: Вредитель полей
Re: Подписи глубин на карте
Вот я первый раз в жизни вижу скрипт для ArcGIS, но почему-то сразу нашел http://webhelp.esri.com/arcgisdesktop/9 ... lculationsangelok писал(а):Не подскажите где Вы нашли этот оператор "mid" и как он работает. Что означают цифры в скобках
mid([NAME],1,1)
Код: Выделить всё
Syntax
Mid(string, start[, length])
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя