Справочник атрибутов

Чтобы обеспечить совместимость и простоту использования, все слои в экосистеме Toril GIS имеют стандартизированную структуру атрибутов. Это единообразие позволяет применять согласованные стили, фильтрацию и многоязычные подписи для различных наборов данных.

Источники данных и форматы экспорта

В таблице ниже приведена эталонная структура, представленная в основной базе данных PostGIS. В зависимости от того, как вы используете эти данные, атрибуты могут подвергаться преобразованиям.

Хотя мы в первую очередь поддерживаем GeoPackage (.gpkg), данные могут быть экспортированы во многие другие форматы (такие как GeoJSON (.geojson) и Shapefile (.shp)). Обратите внимание: изменения в структуре данных неизбежны при экспорте из-за различий в спецификациях форматов. Будьте готовы к возможной потере вложенных метаданных или сокращению имён атрибутов в устаревших форматах.


Словарь атрибутов

Название Тип Описание
Идентификация и классификация    
uuid UUID ЭКСТРЕМАЛЬНО ВАЖНО. Это первичный ключ и «клей» всей базы данных. Все реляционные данные — включая переводы на разные языки и связанные описания — соединены через это поле. Никогда не изменяйте и не генерируйте заново UUID для существующих объектов, так как это нарушит целостность базы данных и все связи.
layer_id Text Внутренний идентификатор, связывающий объект с его конкретным слоем (например, srf_civ_populated_places_pt).
feature_class Text Классификация типа объекта (например, “City”, “Forest”, “Ruins”). Это основное поле для тематической стилизации. Полный список допустимых значений см. в разделе Работа со слоями и стилями.
feature_rank Integer Шкала важности, соответствующая уровням масштабирования веб-карт. Toril GIS ориентирован прежде всего на карты глобального и регионального масштаба. В настоящее время диапазон составляет от 0 до 10 (где 0 — глобальное значение), хотя это не жёсткое ограничение. Технически система поддерживает и более высокие значения: например, 20 будет соответствовать локальным объектам уровня отдельного дома. См. Работа со слоями и стилями.
Метаданные проекта    
source Text Код ссылки на оригинальную карту или книгу-источник. Подробнее в разделе Источники данных.
dnd_editions Array Редакции игры, в которых присутствует этот объект (например, 2e, 3e, 5e). См. руководство по Совместимости редакций D&D, чтобы узнать, как они соотносятся с хронологией Торила.
timeframe Text Зарезервировано для высокоточной хронологической фильтрации (например, конкретные годы). Это поле в данный момент является экспериментальным и малоиспользуемым, но станет жизненно важным для будущих темпоральных/исторических версий карты.
is_visible Boolean Основной переключатель видимости. Если установлено значение FALSE, объект игнорируется стандартными стилями.
is_labeled Boolean Глобальный переключатель отображения подписей. Позволяет отключать подписи для конкретных объектов, даже если в стиле слоя подписи включены.
needs_review Boolean Для внутреннего использования разработчиками. Флаг, указывающий на то, что объект требует ручной проверки, корректировки координат или уточнения лора. Конечные пользователи могут игнорировать это поле.
review_notes Text Для внутреннего использования разработчиками. Конкретные инструкции, проблемы или заметки «to-do» относительно точности данных объекта.
Пространственные и системные данные    
geog Geography Каноническая геометрия, хранящаяся в Toril GCS. Это основные пространственные данные. Все операции должны в конечном итоге сохраняться обратно в этот столбец.
geog_extent JSONB Предварительно рассчитанный охват (bounding box) и другие измерения как в имперской, так и в метрической системах.
location_paths JSONB Многоязычные иерархические пути (например, {"en": ["Mhair Jungles", "Chult", "Faerûn"]}). В проекте QGIS виртуальные атрибуты, такие как location, используют эти данные для рендеринга чистых путей вида “Mhair Jungles → Chult → Faerûn”.
last_edited Date Дата последнего изменения для упрощения отслеживания версий.
last_editor Text Имя пользователя или процесс, ответственный за последнее обновление.
extra JSONB Гибкое хранилище для атрибутов, уникальных для конкретных слоёв. Если в будущем нам понадобятся дополнительные атрибуты, их можно будет добавить сюда без изменения структуры базы данных.
Многоязычный контент    
name_{lang} Text Авторитетный контент. Английский язык (name_en) является мастер-языком и первичным источником истины. Для всех объектов гарантируется наличие английских атрибутов. Другие языки (например, name_ru) являются вторичными и должны возвращаться к английскому значению, если поле пусто.
name_abb_{lang} Text Аббревиатура названия, используемая в условиях ограниченного пространства на карте. Используется в Правилах подписей.
name_alt_{lang} Array Известные псевдонимы, исторические названия или варианты написания на указанном языке.
descr_{lang} Text Текстовое описание лора объекта.
url_{lang} Text Ссылка на соответствующие ресурсы (например, статьи в Wiki) на конкретном языке.

Технические примечания

Виртуальные атрибуты в QGIS

Проект Toril GIS для QGIS (наша основная среда визуализации) включает несколько виртуальных полей. Они не хранятся в базе данных, а рассчитываются «на лету» на основе перечисленных выше атрибутов. Пример: location — виртуальный атрибут, который форматирует JSON из location_paths в человекочитаемую строку для подсказок и всплывающих окон.

Локализация и масштаб

Каждое текстовое поле следует шаблону {field}_{lang_code}. Хотя в настоящее время основное внимание уделяется английскому (en) и русскому (ru) языкам, схема готова к масштабированию на любой язык. Аналогичным образом, логика feature_rank гарантирует, что даже при добавлении более подробных деталей (вплоть до отдельных зданий), глобальная карта останется чистой и производительной.