是否存在从短字段名到长全文名的正式映射方法?
,xml文件以及所有其他.shp .dbf .shx文件旁边。
#1 楼
对不起,答案是否定的。您必须推出自己的字段映射器,只有使用您的映射器的软件才能理解它。您可以使用其他不受此限制的格式(例如文件地理数据库,spatialite等)。关于个人变通办法的一些建议。
当人们选择shapefile(并坚持使用它们)作为其主要格式时,通常出于互操作性的考虑而选择它-将其视为遵循规范。如果选择滚动自己的字段映射器,则基本上是相反的操作-因为您做的事情超出规范,所以您已经创建了“扩展规范”。
我过去做过吗?是。而且,与每次实际解决问题相比,它无疑总是带来更多的痛苦,因为每次您尝试将shapefile打开为其他任何可以读取/写入shapefile的内容时,最终都会得到一个包含大量难以理解字段的表。
那时候,我想问你,为什么要使用shapefile?要么提出一个符合shapefile规范及其限制的工作流解决方案,要么更改文件格式。其他一切都只是头痛的良方。
#2 楼
有一种标准的处理方法,尽管您的客户可能并不完全满意:以软件可以读取的格式导出两个文件,shapefile和数据文件。 shapefile仅具有属性的唯一标识符[Id]。数据文件具有多个属性:[Id]用于匹配形状; [Field]用于提供字段名称; [Type]用于指示其类型;以及每种可能的数据类型的一个属性来存储值。原始文件中的每个字段都作为记录存储在此数据文件中。例如,如下所示的源表:[Shape] [Id] [Name] [Population2010]
shape1 A1 California 37253956
shape2 A2 Texas 25145561
shape3 A3 Wyoming 563626
将具有相应的数据文件
[Id] [Field] [Type] [Text] [Integer]
A1 Name Text California <Null>
A1 Population2010 Integer <Null> 37253956
A2 Name Text Texas <Null>
A2 Population2010 Integer <Null> 25145561
A3 Name Text Wyoming <Null>
A3 Population2010 Integer <Null> 563262
很明显,如何在任何RDBMS中使用这些数据以及如何在两种格式之间来回转换。 />
#3 楼
如果您的客户使用的是ArcGIS,则可以提供一个脚本来批量分配字段别名。这样,当他们使用数据时,它们就会显得很长。类似的脚本也可以在其他GIS软件包中提供别名。
评论
我当然很高兴看到我的一个高度重视的答案,但是该答案适用于地理数据库,而不适用于shapefile。它们不能保存别名,尽管在Arcgis中可以保存一个记住别名的图层文件。
–马特·威尔基
2011-10-18 18:59
注意,并感谢您的澄清。另请注意,别名也可以使用MXD保存。我建议应将脚本提供给客户,因为每次将shapefile添加到新地图时都必须重新运行这些脚本。
–user3461
2011-10-18 19:19
#4 楼
最简单的方法是仅将几何图形存储为shapefile,为了在许多GIS应用程序中拥有出色的几何图形编辑功能,YET将所有字段数据(或其中的大部分)存储在sqlite中作为表格。根据需要加入他们以研究您的现场数据。但是,如果您在进行空间查询时需要编辑表格,或者在QGIS中选择shapefile功能,则需要忘记将[shapefile加入sqlite表中]作为选项,而是将所有内容导出到Spatialite。学会使用Qspatialite和Spatialite_GUI(它们彼此互补,并具有许多其他特性,如果您使用SQLITE进行许多操作,则将需要同时使用它们)这些表(连接到shapefile的表)将无法在连接的同时进行编辑。因此,迁移到Spatialite将是shapefile的绝佳替代选择。它保持了shapefile的简单性和可移植性,同时提供了SQL数据库的大多数优点,而没有PostgreSQL的复杂性。
#5 楼
临时修复可以保存为TAB文件,其列名的长度最多为31个字符。评论
不确定这是否真的回答了问题
– nmtoken
18-09-25在14:37
评论
不幸的是我们的客户需要shapefile:/
– denu
2011-10-16 8:25
然后没有其他选择:(
–拉吉·亚瑟(Ragi Yaser Burhum)
2011-10-16 15:30
其他选项是变通办法,下面建议其中一些。
–user3461
2011年10月17日在12:28
我在上面更新了我的答案,以解释为什么当您的客户只需要shapefile时,变通方法不是一个好主意。
–拉吉·亚瑟(Ragi Yaser Burhum)
2011-10-17 14:41
作为一名顾问,我的经验是,找到一种帮助客户的方法几乎总是比说“没有办法”更可取。找出为什么他们需要shapefile是一个好的开始,您也许可以在替代方案上达成共识,但并非总是如此。顺便说一句,获得变通办法想法的最好方法之一是在Web上发布一条“没有其他选择”的通知。 :-)
– hu
2011年10月17日15:24