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則將其移除
mylayer1 = new sharpmap.layers.vectorlayer("mylayer1");
mylayer1.style.symbol = new
bitmap(@"netw0019.bmp");
mylayer1.datasource = shpfile1;
mymap.layers.add(mylayer1);//
新增圖層
mymap.zoomtoextents();
mapimage1.map = mymap;
mapimage1.refresh();
sharpmap顯示地圖時,將自動建立乙個檔名.shp.sidx檔案,如果下一次開啟圖時已經存在該檔案,將自動按其索引進行顯示。剛剛新增的點不能夠在顯示的時候更新,所以在每次顯示前判斷該檔案是否存在,如果存在則刪除,這樣就可將新新增的點顯示出來。
利用sqlhelper執行新增操作
有一年沒碰.net了,基本上所有的都忘記得差不多了。這幾天重新熟悉這個,首先熟悉下用sqlhelper和property屬性類進行新增操作。1 定義屬性 2 定義乙個資料訪問層介面。介面名為iorder.如下 3 實現iorder介面 4 web端實現操作 default.aspx.cs 在該頁面定...
利用sql語句新增字段注釋
sql server中如何用sql語句給表的字段加注釋 關於注釋這個問題,之前沒用sql語句去新增過,都是在enterprise manager裡面新增的 查了一下資料,得知microsoft在sql server 2000中引入了擴充套件屬性,使用者可在各種資料庫物件上定義這些屬性。這些擴充套件屬...
利用python給pdf新增目錄
利用python讀取txt檔案時,使用的是python中的open方法,讀取檔案時最好加上檔案的編碼方式。不然有可能出現以下錯誤 unicodedecodeerror gbk codec can t decode byte 0xa6 in position 14 illegal multibyte ...