矢量数据属性字段的长度

这里所说的属性字段类型是字符串。

细心的朋友会发现一个问题,在矢量属性里新建一个文本字段,当长度设置为2时,在该字段最多可以输入两个汉字,如下图所示:


新建字段


输入两个汉字

当输入三个汉字时,会提示错误,如下图:


输入三个汉字

但是,这与我们平时的认知是相悖的。相悖的地方是什么呢?是字符串的长度,一般来说,当字符串的长度为2时,只容纳2个 字母或一个汉字,可是现在,我们居然可以在字段里输入两个汉字,也就是4个字节的长度,且只有输入三个汉字的时候,才会提示错误。

原因在哪里呢?这其实是ArcGIS处于编辑状态下的一种“失常状态”。

当对数据停止编辑以后,会出现如下结果:


停止编辑后

也就是说,在编辑状态下,ArcGIS会“失常”的以为长度值就是可以输入的字符的个数,无论是输入什么字符,比如不输入汉字,换成字母。如下图:


输入三个字母

可是一旦停止编辑,ArcGIS就会恢复“正常状态”。

下面,再看一个细节,加入我们将字符串的长度设置为奇数,然后输入偶数个汉字,停止编辑以后会有什么结果呢?


新建字段

“失常状态”下可以输入7个汉字,我们输入4个就可以了。


输入四个汉字

停止编辑后,结果如下:


停止编辑后

会有一个问号(?)。因为这个位置应该只剩下一个字节的长度,满足不了一个汉字,但又不能为空,所以就用问号(?)来表示。

以上这些内容有什么用呢?其实用处不那么“伟大”,只是用来提醒各位从事GIS工作的伙伴,我们肯定会经常手工录入很多文字属性信息,有时候,为了避免新建字段后,还得用鼠标将字段列宽拉的小一些,所以提前输入了很小的长度,以至于后面输入信息时根本不会留意到是否能将输入的属性信息全部保存上。记住,“失常状态”下输入的,“正常状态”未必会保存上。

PS:

转发微博里的一条信息,韩雪女神当主编了,希望苏州的朋友们能支持她。我是她的粉丝。


韩雪主编的报纸


韩雪

推荐阅读更多精彩内容