最近发现用ArcGIS打包的MPK文件,如果数据的来源不一样:从shapefile源数据或者是从SDE源数据进行打包,能够引起打包文件的大小不一样已经在代码中引用文件的效率不一样的差异。开始发现这种差异是将MPK文件修改后缀名,将其改为ZIP格式后解压发现里面的文件格式不一样发现的,ArcGIS对shapefile数据进行打包时,是将shapefile直接打包进MPK文件中,而对SDE数据进行打包时是建立一个新的个人数据库。
将MPK文件进行解压后,可以发现,以shapefile为源数据的有三个文件:commondata、esriinfo、v101三个文件,其中commondata中有完整的shapefile文件,而v101中包含着mxd文件对其进行引用。以SDE为源数据的esriinfo、v101两个文件,其数据包含在v101文件中的gdb数据库当中。
总体来说,经过我在WPF中对这两种文件的使用,以SDE为源数据的MPK文件比以shapefile为源数据的在文件大小上更有优势,而且在获取数据时,前者的运行速度更快,建议使用前者的方式进行对数据的打包。