利用SharpMap+OGR添加并显示点
来源:互联网 发布:m1213nf扫描软件 编辑:程序博客网 时间:2024/06/05 04:41
利用SharpMap+OGR添加并显示点
转载自:http://blog.csdn.net/liubx733/article/details/4942239#comments
Sharpmap提供了很好的地图渲染功能,其地图显示很漂亮,但是我用的0.9版本尚不支持shp文件编辑和添加、删除功能,因此只好利用OGR进行添加了(删除功能后面再说)。
利用OGR向已经存在的shp文件中写入一个点。
OSGeo.OGR.Ogr.RegisterAll();//注册
OSGeo.OGR.Driver driver;
OSGeo.OGR.DataSource ogrds;
OSGeo.OGR.Layer ogrlayer;
Feature ogrfeature;
OSGeo.OGR.Geometry pt;
ogrds = driver.Open(@"New_Shapefile.shp", 1);//找到文件
ogrlayer = ogrds.GetLayerByName("New_Shapefile");
ogrfeature = new Feature(ogrlayer.GetLayerDefn());
pt = new Geometry(OSGeo.OGR.wkbGeometryType.wkbPoint);
ogrfeature.SetField(0,"point1");//属性第一列值为"point1"
pt.AddPoint(100 ,100 , 0);//分别为X,Y,Z坐标值,添加点
ogrfeature.SetGeometry(pt);
ogrlayer.CreateFeature(ogrfeature);
ogrfeature.Dispose();销毁
ogrds.Dispose();
利用SharpMap进行显示:
SharpMap.Data.Providers.ShapeFile shpfile1 =new SharpMap.Data.Providers.ShapeFile(@"New_Shapefile.shp",true);//direct , true);
if (File.Exists(@"New_Shapefile.shp.sidx"))//如果存在索引文件则删除之
File.Delete(@"New_Shapefile.shp.sidx");
shpfile1.Encoding = System.Text.Encoding.GetEncoding("GB2312");
if (mylayer1 != null)//如果存在这个layer则将其移除
{
myMap.Layers.Remove(mylayer1);
mylayer1.Dispose();
}
mylayer1 = new SharpMap.Layers.VectorLayer("mylayer1");
mylayer1.Style.Symbol =newBitmap(@"NETW0019.bmp");
mylayer1.DataSource = shpfile1;
myMap.Layers.Add(mylayer1);//添加图层
myMap.ZoomToExtents();
mapImage1.Map = myMap;
mapImage1.Refresh();
Sharpmap显示地图时,将自动建立一个文件名.shp.sidx文件,如果下一次打开图时已经存在该文件,将自动按其索引进行显示。刚刚添加的点不能够在显示的时候更新,所以在每次显示前判断该文件是否存在,如果存在则删除,这样就可将新添加的点显示出来。
(文中可能有不当的地方,欢迎指教)
- 利用SharpMap+OGR添加并显示点
- 【GDAL/OGR】利用GDAL/OGR读取shp文件并转换为json文件(Java版)
- SharpMap 中添加 GeometryProvider数据源并支持theme
- 利用GridView显示主细表并添加打开、关闭功能
- 利用GridView显示主细表并添加打开、关闭功能
- 利用GridView显示主细表并添加打开、关闭功能
- 利用GridView显示主细表并添加打开、关闭功能
- 利用GridView显示主细表并添加打开、关闭功能
- 利用GridView显示主细表并添加打开、关闭功能
- 利用GridView显示主细表并添加删除、打开、关闭功能
- 利用GridView显示主细表并添加打开、关闭功能
- 利用GridView嵌套显示主细表并添加打开、关闭功能
- 利用GridView显示主细表并添加打开、关闭功能
- SharpMap
- AE添加设置点要素,并添加
- sharpmap中添加自定义图层
- 利用GridView显示主细表并添加删除、打开、关闭功能(续)
- 利用GridView显示主细表并添加删除、打开、关闭功能(续)
- document对象详解
- Retina屏幕
- servlet的线程安全处理方式
- SGU102 Coprimes
- Jquery 判断radio,selelct,checkbox是否选中
- 利用SharpMap+OGR添加并显示点
- 第七周实验报告(三)设计complex模板
- java ee视频下载地址
- tomcat5.5数据库连接池配置
- jsp分页代码
- 关于J-LINK程序下载出现的问题
- 在iphone/ipad 上预览阅读服务器端的 PDF not UIDocumentInteractionController
- DTD学习一(入门)
- Struts乱码的解决办法