Можно ли использовать символ двоеточия («:») в именах полей шейп-файлов?


16

Я пытаюсь выяснить, :разрешен ли символ в имени поля шейп-файла ESRI.

Я погуглил, но не смог найти ответ. Вот интересная цитата из статьи из ESRI FAQ :

Удалите все символы, которые не являются буквенно-цифровыми символами или подчеркиванием.

Значит ли это, что :персонаж не допускается? Или это разрешено использовать, но рекомендуется не использовать его? Если да, то почему?

Ответы:


22

Ограничения имени поля внутри шейп-файла определяются ограничениями dBase. Есть четыре отдельных правила:

  1. Макс. До 10 символов
  2. Первый символ в имени поля должен начинаться с буквы.
  3. Имена полей уникальны.
  4. И из Понимания DBF Essentials

(...) они могут содержать любую комбинацию букв от A до Z, цифр от 0 до 9, двоеточия (:) (только в именах полей dBASE II) и подчеркивания (_).

ESRI Shapefile работает с dBase III +.


1
Можете ли вы загрузить часть своего .omsфайла? Я хочу проверить, что происходит, или если есть альтернативный способ экспортировать данные такого типа
aldo_tapia

1
Я пробовал в Rиспользовании osmarи rgdalбез проблем, отлично работает. Я проверяю имена полей в QGIS и прав. Основной и простой код . И результаты , проверьте их.
aldo_tapia

1
Поскольку шейп имеет такое же поле , чем исходный файл: <node id="32633413" visible="true" version="6" changeset="13406299" timestamp="2012-10-07T23:36:07Z" user="Davlak" uid="217070" lat="41.8994226" lon="12.4969449"/>. Символ столбца не является полем, это тег, такой как:, <tag k="bus" v="yes"/> <tag k="highway" v="bus_stop"/> <tag k="internet_access" v="wlan"/> <tag k="internet_access:name" v="AtacWiFi"/> <tag k="internet_access:operator" v="RomaWireless"/> <tag k="name" v="Nazionale/Quattro Fontane"/> <tag k="operator" v="ATAC"/> ...верно?
aldo_tapia

1
Теги похожи на описание .kmlфайлов, в поле вы можете иметь много тегов, даже .osmфайлы имеют структуру, аналогичную .kml. Если вы хотите извлечь теги, используйте осмос , а не GDAL для создания новых полей на основе этих тегов. Вы пытаетесь получить что - то вроде этого ?
aldo_tapia

1
Имя поля не может содержать двоеточия. Решение: откройте .osmфайл в любом текстовом редакторе и замените двоеточие подчеркиванием, сохраните его и экспортируйте в шейп-файл. .osmФайл представляет собой XML, вы можете легко управлять содержимым.
aldo_tapia

5

Согласно той же статье Esri, которую вы цитируете:

Эти ограничения наложены таким образом, чтобы ArcGIS мог работать с максимальным количеством типов данных.

Следовательно, даже если вам не запрещено использовать двоеточие в имени поля каким-либо программным обеспечением, которое вы используете для создания шейп-файлов, вам будет неразумно использовать их с ArcGIS.

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