Спецсимволы в таблице атрибутов
-
- Активный участник
- Сообщения: 117
- Зарегистрирован: 31 окт 2011, 00:18
- Репутация: 14
- Откуда: Кривий Ріг
Спецсимволы в таблице атрибутов
1. Как можно прописать спецсимволы в таблицу атрибутов shape-файла? Нужно отобразить геологичские условные обозначения (индекс пород и индекс возраста), которые представляют собой смесь латиницы, расширенной латиницы и греческих символов. Пробовал напрямую вписать в таблицу атрибутов - сохраняется, но не отображается на карте (ставится вопросительный знак), а после перезапуска ГИС - и в таблице атрибутов распознаётся в виде вопросительного знака (см. рис.)
2. Вторая проблема - цифры в индексе нужно отобразить в виде "нижних индексов" и "верхних индексов". Можно-ли это как-то сохранить в таблицу атрибутов (или отдельно)?
2. Вторая проблема - цифры в индексе нужно отобразить в виде "нижних индексов" и "верхних индексов". Можно-ли это как-то сохранить в таблицу атрибутов (или отдельно)?
- Вложения
-
- Попытка напрямую вписать спецсимволы (греческие) в таблицу атрибутов
- вопрос_спецсимволы.png (521.63 КБ) 7929 просмотров
- rhot
- Гуру
- Сообщения: 1727
- Зарегистрирован: 25 янв 2011, 17:50
- Репутация: 194
- Ваше звание: доктор
- Откуда: Архангельск
Re: Спецсимволы в таблице атрибутов
Вопрос можно перефразировать так, можно ли прописать спецсимволы в .dbf. Вы ничего не написали о кодировке. В UTF-8 такое возможно.
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________
- Игорь Белов
- Гуру
- Сообщения: 2241
- Зарегистрирован: 04 янв 2011, 22:00
- Репутация: 1514
- Откуда: Казань
Re: Спецсимволы в таблице атрибутов
1. rhot прав, нужно всего-навсего создать shape в кодировке UTF-8.
2. Цифровые индексы вставляются как символы Юникода:
2. Цифровые индексы вставляются как символы Юникода:
- верхние: U+2070, U+00B9, U+00B2, U+00B3, U+2074 – U+2079;
- нижние U+2080 – U+2089.
- Вложения
-
- Образец
- accents.png (5.27 КБ) 7908 просмотров
The purpose of computing is insight, not numbers
-
- Активный участник
- Сообщения: 117
- Зарегистрирован: 31 окт 2011, 00:18
- Репутация: 14
- Откуда: Кривий Ріг
Re: Спецсимволы в таблице атрибутов
Про кодировку как-то вылетело из головы!!! У меня кодировка UTF-8 по умолчанию (Debian Linux).rhot писал(а):Вопрос можно перефразировать так, можно ли прописать спецсимволы в .dbf. Вы ничего не написали о кодировке. В UTF-8 такое возможно.
- Игорь Белов
- Гуру
- Сообщения: 2241
- Зарегистрирован: 04 янв 2011, 22:00
- Репутация: 1514
- Откуда: Казань
Re: Спецсимволы в таблице атрибутов
Тогда Ваша проблема — древняя как QGIS-1.8 проблема с кракозяблями. Обсуждалась на форуме стопятьсот раз.
Добавьте в .profile строку:
С обновлениями QGIS-1.8.0 2013 года должно работать.
Добавьте в .profile строку:
Код: Выделить всё
export SHAPE_ENCODING=""
Последний раз редактировалось Игорь Белов 25 авг 2013, 13:34, всего редактировалось 1 раз.
The purpose of computing is insight, not numbers
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 792
- Ваше звание: званий не имею
- Откуда: Москва
Re: Спецсимволы в таблице атрибутов
Если также нужен курсив и прочая "оформиловка", то можно ещё наделать SVG в Inkscape (там и греч. символы, и начертание, и верх./ниж. индексы). А потом назначить нужный символ нужному атрибуту в таблице. Сам так не пробовал, чисто предположение 

Редактор материалов, модератор форума
-
- Активный участник
- Сообщения: 117
- Зарегистрирован: 31 окт 2011, 00:18
- Репутация: 14
- Откуда: Кривий Ріг
Re: Спецсимволы в таблице атрибутов
За подсказки по поводу UTF-8 - спасибо. Ещё нашёл плагин, предназначенный для удаления и установки атрибутов кодировки в shape-файлах:
plugins.qgis.org/plugins/shapefile_encoding_fixer/
А вот по поводу верхних и нижних индексов - не понял как их прописывать в таблицу атрибутов. Например, мне нужно одной строкой написать "γAR1dp", при этом единица должна быть нижним индексом. Как это внести в таблицу?
plugins.qgis.org/plugins/shapefile_encoding_fixer/
А вот по поводу верхних и нижних индексов - не понял как их прописывать в таблицу атрибутов. Например, мне нужно одной строкой написать "γAR1dp", при этом единица должна быть нижним индексом. Как это внести в таблицу?
- Игорь Белов
- Гуру
- Сообщения: 2241
- Зарегистрирован: 04 янв 2011, 22:00
- Репутация: 1514
- Откуда: Казань
Re: Спецсимволы в таблице атрибутов
Для меня «напрямую вписать» хитрые символы обычно означает скопировать их из таблицы Unicode.html, которую я изготовил на основе файла Decoding/Unicode, имеющегося в исходниках ghostscript. Открываю таблицу в браузере, ищу символы по именам Postscript или TrueType и копирую через буфер обмена. Нижний индекс единицы ищем как "oneinferior", и вуаля: "γAR₁dp".
Наверняка имеются другие способы.
Наверняка имеются другие способы.
- Вложения
-
Unicode.html.zip
- Unicode Decoding
- (54.75 КБ) 293 скачивания
The purpose of computing is insight, not numbers
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 792
- Ваше звание: званий не имею
- Откуда: Москва
Re: Спецсимволы в таблице атрибутов
Можно вводить юникодные символы напрямую. Один из способов для Linux: надо нажать одновременно Ctrl+Shift+u, затем ввести hex-код символа (таблица символов легко ищется в интернетах). Кроме того, есть программы с таблицами символов и их кодами.
Редактор материалов, модератор форума
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость