Добавлять текстовые поля длиной более 255 символов?


11

Я работаю над проектом QGIS, где у меня есть несколько слоев шейп-файлов с текстовыми полями. Я хотел бы добавить целые абзацы как описания к текстовым полям, однако поля ограничены их максимально допустимой длиной, которая составляет 255 символов.

Как мне сделать добавление более длинных текстов? Я уверен, что должен быть способ, который я не рассматриваю.

Я где-то читал, что я должен попробовать PostGIS. Конечная цель проекта - загрузить его на веб-сервер для онлайн-просмотра. Поэтому я не уверен, каким образом отношение PostGIS к гораздо большим текстовым файлам может быть загружено или сохранено в Интернете?


В каком формате файлов используются слои?
Матиас Кун

@MatthiasKuhn Это шейп-файлы
birdybird03

Ответы:


23

Шейп-файлы имеют ограничение не более 254 символов на поле (см. Switchfromshapefile.org ).

Если вам нужно больше, вам нужно будет переключиться на другой формат. Если вы не знаете, какой формат файла вы хотите выбрать, перейдите к Geopackage, который является стандартом OGC (и в более новых версиях QGIS и других ГИС-пакетов формат файла по умолчанию).

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


Краткие и полезные ответы, такие как вот почему мне нравится сообщество SE. Спасибо, работал как шарм!
birdybird03

Очень полный ответ. Но я хочу упомянуть, что есть и другие причины для того, чтобы больше не использовать файлы .shp, например, ограничение в 10 символов в именах полей, и что .shp не может хранить значения Null (или NaN). Файлы .shp служили нам хорошо на протяжении многих лет. Но пришло время измениться ...
Мартин

.shp может хранить Null, но .dbf не может. Просто говорю, Мартин!
Uffe Kousgaard

Кроме того, шейп-файлы (или, по крайней мере, файлы .dbf, являющиеся компонентом шейп-файла) не могут изначально хранить поле времени, например часы: минуты: секунды.
Стю Смит

Для более веских причин не использовать шейп-файл (и по некоторым причинам придерживайтесь его), смотрите ссылку в первой строке.
Матиас Кун
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.