O que são nomes de classes e tabelas de recursos válidos no ArcGIS Desktop?

10

Quais são as regras para nomear classes e tabelas de recursos válidas no ArcGIS Desktop e existe algum documento de suporte que possa explicar todas as limitações de nomeação de conjuntos de dados?

iRfAn
fonte
1
Depende do tipo de dados que você está usando, não é?
Chad Cooper
Eu estou usando o arquivo de forma e geodatabase arquivo
Irfan
3
algo mal documentado: não use um número para o primeiro caractere de um conjunto de dados.
precisa saber é o seguinte
Isto é exatamente o meu problema, eu estou tentando número de uso para o primeiro caractere do conjunto de dados, não há problema no arquivo de forma, mas geodatabase arquivo está me dando erro
Irfan
Desculpe, mas tentando resolver um problema semelhante: ao importar em gdb, como adiciono data antes do nome? ex: name.shp -> class recurso 120706_name
Luca Moiana

Respostas:

19

Está na documentação: Definindo propriedades da classe de recurso

Especificamente:

Os nomes devem começar com uma letra, não um número ou caractere especial, como um asterisco (*) ou um sinal de porcentagem (%). Os nomes não podem ter caracteres diferentes de caracteres alfanuméricos e sublinhados.

Derek Swingley
fonte
7

Esta pergunta foi respondida por Swingley acima ... Mas, em termos de automatização deste procedimento, você pode escrever um script que implemente o método IFieldChecker.ValidateTableName . Se bem me lembro, ele retorna um nome corrigido com caracteres inválidos substituídos por sublinhados.

Jakub Sisak GeoGraphics
fonte
Estou ciente de validateTableName, mas aqui está a minha situação, tenho arquivos de forma "1-Digit postcode.shp, 2 dígitos postcode.shp" e, quando uso validateTableName nesses dois arquivos de forma, obtenho resultado para ambos "_Digit_postcode.shp " Eu acho que preciso escrever minha própria função para esta validação de nome de tabela.
precisa saber é o seguinte
tem sido um todo, para me corrija se eu estiver errado, mas se você usar o parâmetro de espaço de trabalho, você deve de fato obter "_Digit_postcode.shp" e "_Digit_postcode_1.shp"
Jakub Sisak GeoGraphics
0

Desde o ArcGIS 10.3, existe uma arcpyfunção ValidateTableName:

Pega um nome de tabela e um caminho da área de trabalho e retorna um nome de tabela válido para a área de trabalho. Um sublinhado "_" substituirá qualquer caractere inválido encontrado no nome da tabela e respeitará as restrições de nome para o espaço de trabalho. As restrições de nome da tabela dependem do RDBMS específico usado.

Alex Tereshenkov
fonte