Спецсимволы в таблице атрибутов

Вопросы по свободной ГИС QGIS. Сообщения об ошибках, предложения по улучшению, локализация.
Ответить
ymr3R9Jge
Активный участник
Сообщения: 117
Зарегистрирован: 31 окт 2011, 00:18
Репутация: 14
Откуда: Кривий Ріг

Спецсимволы в таблице атрибутов

Сообщение ymr3R9Jge » 25 авг 2013, 11:31

1. Как можно прописать спецсимволы в таблицу атрибутов shape-файла? Нужно отобразить геологичские условные обозначения (индекс пород и индекс возраста), которые представляют собой смесь латиницы, расширенной латиницы и греческих символов. Пробовал напрямую вписать в таблицу атрибутов - сохраняется, но не отображается на карте (ставится вопросительный знак), а после перезапуска ГИС - и в таблице атрибутов распознаётся в виде вопросительного знака (см. рис.)
2. Вторая проблема - цифры в индексе нужно отобразить в виде "нижних индексов" и "верхних индексов". Можно-ли это как-то сохранить в таблицу атрибутов (или отдельно)?
Вложения
вопрос_спецсимволы.png
Попытка напрямую вписать спецсимволы (греческие) в таблицу атрибутов
вопрос_спецсимволы.png (521.63 КБ) 7933 просмотра

Аватара пользователя
rhot
Гуру
Сообщения: 1727
Зарегистрирован: 25 янв 2011, 17:50
Репутация: 194
Ваше звание: доктор
Откуда: Архангельск

Re: Спецсимволы в таблице атрибутов

Сообщение rhot » 25 авг 2013, 12:24

Вопрос можно перефразировать так, можно ли прописать спецсимволы в .dbf. Вы ничего не написали о кодировке. В UTF-8 такое возможно.
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2241
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1514
Откуда: Казань

Re: Спецсимволы в таблице атрибутов

Сообщение Игорь Белов » 25 авг 2013, 12:47

1. rhot прав, нужно всего-навсего создать shape в кодировке UTF-8.
2. Цифровые индексы вставляются как символы Юникода:
  • верхние: U+2070, U+00B9, U+00B2, U+00B3, U+2074 – U+2079;
  • нижние U+2080 – U+2089.
Вложения
accents.png
Образец
accents.png (5.27 КБ) 7912 просмотров
The purpose of computing is insight, not numbers

ymr3R9Jge
Активный участник
Сообщения: 117
Зарегистрирован: 31 окт 2011, 00:18
Репутация: 14
Откуда: Кривий Ріг

Re: Спецсимволы в таблице атрибутов

Сообщение ymr3R9Jge » 25 авг 2013, 13:19

rhot писал(а):Вопрос можно перефразировать так, можно ли прописать спецсимволы в .dbf. Вы ничего не написали о кодировке. В UTF-8 такое возможно.
Про кодировку как-то вылетело из головы!!! У меня кодировка UTF-8 по умолчанию (Debian Linux).

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2241
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1514
Откуда: Казань

Re: Спецсимволы в таблице атрибутов

Сообщение Игорь Белов » 25 авг 2013, 13:32

Тогда Ваша проблема — древняя как QGIS-1.8 проблема с кракозяблями. Обсуждалась на форуме стопятьсот раз.
Добавьте в .profile строку:

Код: Выделить всё

export SHAPE_ENCODING=""
С обновлениями QGIS-1.8.0 2013 года должно работать.
Последний раз редактировалось Игорь Белов 25 авг 2013, 13:34, всего редактировалось 1 раз.
The purpose of computing is insight, not numbers

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 792
Ваше звание: званий не имею
Откуда: Москва

Re: Спецсимволы в таблице атрибутов

Сообщение Александр Мурый » 25 авг 2013, 13:34

Если также нужен курсив и прочая "оформиловка", то можно ещё наделать SVG в Inkscape (там и греч. символы, и начертание, и верх./ниж. индексы). А потом назначить нужный символ нужному атрибуту в таблице. Сам так не пробовал, чисто предположение :)
Редактор материалов, модератор форума

ymr3R9Jge
Активный участник
Сообщения: 117
Зарегистрирован: 31 окт 2011, 00:18
Репутация: 14
Откуда: Кривий Ріг

Re: Спецсимволы в таблице атрибутов

Сообщение ymr3R9Jge » 25 авг 2013, 13:52

За подсказки по поводу UTF-8 - спасибо. Ещё нашёл плагин, предназначенный для удаления и установки атрибутов кодировки в shape-файлах:
plugins.qgis.org/plugins/shapefile_encoding_fixer/
А вот по поводу верхних и нижних индексов - не понял как их прописывать в таблицу атрибутов. Например, мне нужно одной строкой написать "γAR1dp", при этом единица должна быть нижним индексом. Как это внести в таблицу?

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2241
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1514
Откуда: Казань

Re: Спецсимволы в таблице атрибутов

Сообщение Игорь Белов » 25 авг 2013, 14:18

Для меня «напрямую вписать» хитрые символы обычно означает скопировать их из таблицы Unicode.html, которую я изготовил на основе файла Decoding/Unicode, имеющегося в исходниках ghostscript. Открываю таблицу в браузере, ищу символы по именам Postscript или TrueType и копирую через буфер обмена. Нижний индекс единицы ищем как "oneinferior", и вуаля: "γAR₁dp".
Наверняка имеются другие способы.
Вложения
Unicode.html.zip
Unicode Decoding
(54.75 КБ) 294 скачивания
The purpose of computing is insight, not numbers

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 792
Ваше звание: званий не имею
Откуда: Москва

Re: Спецсимволы в таблице атрибутов

Сообщение Александр Мурый » 25 авг 2013, 14:34

Можно вводить юникодные символы напрямую. Один из способов для Linux: надо нажать одновременно Ctrl+Shift+u, затем ввести hex-код символа (таблица символов легко ищется в интернетах). Кроме того, есть программы с таблицами символов и их кодами.
Редактор материалов, модератор форума

Ответить

Вернуться в «QGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость