O caractere de dois pontos (“:”) pode ser usado nos nomes dos campos do shapefile?

16

Estou tentando descobrir se o :caractere é permitido no nome do campo shapefile da ESRI.

Pesquisei no Google, mas não consegui encontrar uma resposta. Aqui está uma citação interessante do artigo da ESRI FAQ, afirmando:

Elimine qualquer caractere que não seja alfanumérico ou sublinhado.

Isso significa que o :personagem não é permitido? Ou é permitido usá-lo, mas é recomendável não usá-lo? Se sim, então por quê?

marco
fonte

Respostas:

22

As restrições de nome de campo em um shapefile são determinadas pelas limitações do dBase. Existem quatro regras únicas:

  1. Até 10 caracteres no máximo.
  2. O primeiro caractere no nome do campo deve começar com uma letra.
  3. Os nomes dos campos são únicos.
  4. E, no Noções sobre o DBF Essentials

(...) eles podem conter qualquer combinação das letras A a Z, os dígitos de 0 a 9, os dois pontos (:) (apenas nos nomes de campo do dBASE II) e o sublinhado (_).

O ESRI Shapefile trabalha com o dBase III +.

aldo_tapia
fonte
1
Você pode fazer upload de uma parte do seu .omsarquivo? Quero verificar o que acontece ou se são uma maneira alternativa para exportar esse tipo de dados
aldo_tapia
1
Eu tentei Rusar osmare rgdalsem problemas, funciona perfeito. Verifico os nomes dos campos no QGIS e estou certo. Um código básico e simples . E resultados , verifique-os.
Aldo_tapia
1
Porque shapefiles ter o mesmo campo que o arquivo original: <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"/>. O caractere da coluna não é um campo, é uma tag, como:, <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"/> ...certo?
Aldo_tapia
1
Tags são como descrição nos .kmlarquivos; em um campo você pode ter muitas tags, até os .osmarquivos têm uma estrutura semelhante à .kml. Se você deseja extrair tags, use osmose , não GDAL para criar novos campos com base nessas tags. Você está tentando obter algo como isso ?
Aldo_tapia 27/11/16
1
Um nome de campo não pode conter dois pontos. Solução: abra seu .osmarquivo com qualquer editor de texto e substitua dois pontos por sublinhados, salve-o e exporte para o shapefile. .osmarquivo é um XML, você pode gerenciar o conteúdo facilmente.
Aldo_tapia 29/11
5

De acordo com o mesmo artigo da Esri que você cita:

Esses limites são impostos para que o ArcGIS possa funcionar com a quantidade máxima de tipos de dados.

Consequentemente, mesmo que você não seja impedido de usar os dois pontos em um nome de campo por qualquer software que esteja usando para criar shapefiles, será imprudente usá-los com o ArcGIS.

PolyGeo
fonte