ArcGIS Silverlight API 扩展:将GraphicsLayer/FeatureLayer导出为ShapeFile

本API是基于viswaug 前辈的esrislcontribute 类库上发展而来的,早在09年SL API刚出来的时候,viswaug就实现了将ShapeFile加载为GraphicsLayer的功能。加载本地ShapeFile的Demo可以参照菩提老王的blog

本API参照了viswaug的类库,反向实现了GraphicsLayer 到 Shapefile的 导出功能。该类库通过读取GraphisLayer的 GraphicCollection,将其写成shp文件

类库的主要成员函数:

使用方法:

ShapeFile shp = new ShapeFile();                     
GraphicCollection gc = (map.Layers[1] as FeatureLayer).Graphics;       
shp.WriteShape(gc);    //写.shp文件 (shapefile的几何属性文件)    
shp.WriteDBF(gc);      //写.dbf文件  (shapefile的属性字段文件)
shp.WriteSHX(gc);      //写.shx文件  (shapefile 的几何索引文件)  
shp.WriteCPG();        //写 .cpg文件  (shapefile的属性编码文件)

需要指出的是,由于Silverlight的安全机制,向本地写文件需要得到用户的许可,所以这4个写文件需要得到用户的4次授权,也就是用户需要处理4次另存为对话框。。。

做了一个小demo,不过由于一直没找到好用的web host ,只能用dropbox了,需要自行翻墙:

http://dl.dropbox.com/u/145014564/demoTestPage.html

demo截图:

当FeatureLayer/GraphicsLayer 加载完之后,写完4个ShapeFile文件之后,就可以在ArcMap中打开该shp文件了



 Demo源码及WriteToAShapeFile类库下载地址:http://download.csdn.net/detail/crazyxhz/5064078


 

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值