最近,对全国的Road link进行处理,想根据link的名称、等级、属性等,将一串link链接形成一个完整的path。
为了要求效率,一开始设计,就采用SHAPEFILE作为中间格式,直接使用GDAL操纵shapefile格式。
数据导出、link同属判定、LineString翻转、LineString链接、数据导出等各个模块都编写完毕。
最后操纵全国link(约1000万条数据)问题来了:
刚做了几十万条记录,磁盘空间就占用了10GB!
SHIT!
我忘了DBF字符串长度限制,而且DBF字符串不是变长,这磁盘空间占用太大了,伤不起啊~~
GDAL提示字段长度为255,多余的被截除了。而且字段数也有限制,字段名长度也有限制。
这些,都是ShapeFile的硬伤。
先转为直接操纵MySQL,看看效率如何吧。