做GIS这行好几年,很多人问为啥非要分格式。今天聊聊geo文件名的意义
以前用ArcCatalog管数据。目录树长得像圣诞树。拖拽的时候手都在抖。其实底层就靠文件名硬撑。
GeoPackage是个黑盒子。文件名就是唯一的索引。叫test.db和叫2023_08_beijing_poi.db。体验完全是两个世界。
我遇到过一次崩溃的教训。项目赶工期。几十个同事往服务器传数据。全是默认的untitled.gdb。
打开工程文件。图层名字全是Layer1、Layer2。坐标系统也是乱写的。找半天找不到哪个图层是“井盖”。
后来我定了个规矩。文件名必须带时间、带区域、带类型。geo文件名的意义在这个瞬间就显出来了。不是强迫症,是保命。
比如改成20231024_haidian_subway_entry.shp。一眼就知道是海淀区地铁口。还是24年10月24日出的图。
这种命名习惯。刚开始觉得麻烦。要敲好多键盘。
但一旦形成习惯。检索效率提升不止一个量级。用命令行grep找文件。秒出结果。
以前得靠Excel记录对照表。人一走表就丢了。现在不用了。文件名本身就是元数据。
还有一点容易被忽略。不同软件对文件长度的限制不一样。ArcGIS可能允许50字符。但有些轻量级工具只认25个。
如果你把文件名起太长。导入工具直接报错。提示字段名过截断。那种挫败感真的很强。
所以我的建议是。别太文艺。别搞中英混排。尽量用下划线连接。字母加数字最稳妥。
比如用pump_st_05比用5号泵站_图纸要靠谱得多。
再说说扩展名。
_geojson虽然是文本。但文件名决定了它能被哪些网站直接渲染。如果文件名包含特殊符号。
比如中文括号、空格。某些JS库读取时会解析失败。页面空白一片。排查半天最后发现是文件名惹的祸。
geo文件名的意义其实包含了兼容性这一条。它不仅仅是个标签。它是数据流动的通行证。
我曾经见过一个团队。用了两年才把旧数据的名字规范了。中间改了多少次代码?没人记得清。
现在新人入职。第一课不是教软件操作。是教他们怎么给文件起名。这其实是行业里的一种隐性文化。
好的命名是写给未来自己看的信。三年后当你忘了这图是谁画的。打开文件名。一切豁然开朗。
别小看这几个字符。它们承载着数据的血缘和脉络。
当然也有反面教材。有人喜欢用V1、V2、V3、Final、Final2... 这种命名。看到就头疼。
geo文件名的意义在这种混乱里体现得淋漓尽致。它是秩序的守护者。
最后分享一个小技巧。如果数据有版本更新。别覆盖原文件。加个日期后缀。
比如road_2023_01.shp和road_2023_05.shp。这样回溯起来清清楚楚。不用怕改错了删不回来。
细节决定专业度。文件名虽是小事。却是最能体现从业者素养的地方。
别偷懒。多打几个字。换来的是长期的省心。
写这篇文章的时候。手里正好在整理一批老数据。看到那些“新建文件夹(3).gdb”真的想哭。
希望大家能重视起来。这真不是矫情。】