版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、公益林小班與林地一張圖小班融合后碎片公益林小班與林地一張圖小班融合后碎片 處理思路處理思路 肖玲肖玲 2015.1.122015.1.12 1總體流程圖總體流程圖 公益林小班 面 Dissolve (按森林類別、事權(quán)等級(jí)、林地 所有權(quán)、林木所有權(quán)、國家級(jí)公 益林保護(hù)等級(jí)、工程類別、 sum(兌現(xiàn)面積) 公益林小班 面 _Dissolve 林地年度變 更小班面 Union 林地年度變 更小班面 _union Explode 林地年度變更小班面_union圖層增加 以下字段: DJH、maxX、minX、maxY、minY、 area_envelope、area_percent、 isSelect
2、ed 計(jì)算林地年度變更小班面_union圖層 圖斑DJH、maxX、minX、maxY、minY、 area_envelope、area_percent Area_percent 0.3 isSelected = 1是 isSelected = Null 否 林地年度變更小班面增加以下字段: DJH、maxX、minX、maxY、minY、 area_envelope、area_percent、 isSelected 計(jì)算林地年度變更小班面圖斑DJH、 maxX、minX、maxY、minY、 area_envelope、area_percent 篩選 Area_percent0 then s
3、erial()=split( near_tbid ,-1,1 ) djh()=split( near_DJH,-1,1 ) i_max = ubound(djh) for i = 0 to i_max if djh(i) = DJH then s_dissolve = serial(i) exit for end if next i else if instr(near_CUN, CUN_ID)0 then serial()=split( near_tbid ,-1,1 ) cun()=split( near_CUN,-1,1 ) i_max = ubound(cun) for i = 0 t
4、o i_max if cun(i) = CUN_ID then s_dissolve = serial(i) exit for end if next i else s_dissolve = tb_id endif endif (10) 將“unselected”圖層中的 tbid_dissolve 字段賦值為 tb_id: (11) 將“unselected”圖層進(jìn)行備份,新圖層命名為“unselected_bak”。 (12) 使用 APPEND 工具將“selected_SpatialJoin”圖層合并到“unselected”圖層: (13) 對(duì)“unselected”圖層根據(jù) tbi
5、d_dissolve 字段利用 Dissolve 工具進(jìn)行融合,新圖 層命名為“unselected_Dissolve”: (14) 將“unselected_bak”圖層生成點(diǎn)圖層,命名為 “unselected_bak_FeatureToPoin”: (15) 利用 Spatial join 工具,將“unselected_bak_FeatureToPoin”圖層屬性聯(lián)接到 “unselected_Dissolve”面圖層,Match Option 選擇 CONTAINS 方式,新圖層 命名為“無碎片小班面”: 7公益林小班兌現(xiàn)面積平差公益林小班兌現(xiàn)面積平差 (1)編程實(shí)現(xiàn)平差思路:計(jì)算相
6、同“gyl_id”值的圖斑 shape_area 面積之和,按該 圖斑 shape_area 占相同“gyl_id”值的圖斑 shape_area 面積之和的比率,進(jìn)行兌現(xiàn)面積平差。 (2)增加“GylZMj”字段(雙精度型),用于計(jì)算相同“gyl_id”值圖斑 shape_area 面積之和: (3)增加“pcxs”字段(雙精度型),用于計(jì)算相同“gyl_id”值圖斑面積平差系 統(tǒng): (4)增加“NewDxMj”字段(雙精度型),用于計(jì)算平差后的兌現(xiàn)面積: (5)在 ACCESS 中新建兩個(gè)模塊:“1 公益林圖斑計(jì)算面積賦值”和“2 公益林 圖斑兌現(xiàn)面積平差差值處理”,用于公益林小班被剖分后
7、兌現(xiàn)面積的平差處理。代碼如下: 1 公益林圖斑計(jì)算面積賦值 Option Compare Database Option Explicit Sub updateData() Dim cnn As ADODB.Connection Set cnn = CurrentProject.Connection Dim strsqlxxb As String Dim rsXXB As ADODB.Recordset Set rsXXB = New ADODB.Recordset Dim lngGylid As Long Dim douMj As Double strsqlxxb = SELECT gyl_
8、id, sum(Shape_Area) strsqlxxb = strsqlxxb + FROM 無碎片小班面 WHERE not gyl_id = 0 strsqlxxb = strsqlxxb + GROUP BY gyl_id strsqlxxb = strsqlxxb + ORDER BY gyl_id rsXXB.Open strsqlxxb, cnn, adOpenForwardOnly, adLockBatchOptimistic Dim intXXB As Integer Do While Not rsXXB.EOF lngGylid = rsXXB.Fields.Item(0
9、).Value douMj = rsXXB.Fields.Item(1).Value updateGylMj lngGylid, douMj rsXXB.MoveNext Loop rsXXB.Close Set rsXXB = Nothing 2 計(jì)算平差系數(shù) updatexbpcxs 3 計(jì)算平差面積 updatexbpcmj cnn.Close Set cnn = Nothing MsgBox 公益林圖斑計(jì)算面積賦值結(jié)束!, vbOKOnly, 提示 End Sub 1 更新相同公益林圖斑計(jì)算面積之和(即計(jì)算平差系數(shù)的分母) Sub updateGylMj(gylid As Long,
10、sumMj As Double) Dim cnnXXB As New ADODB.Connection Dim cmdxxb As New ADODB.Command Set cnnXXB = CurrentProject.Connection Dim rst As New ADODB.Recordset Dim strUpdate As String strUpdate = UPDATE 無碎片小班面 SET GylZMj= + Str(sumMj) + WHERE gyl_id= + Str(gylid) With cmdxxb .CommandText = strUpdate .Comm
11、andType = adCmdUnknown .ActiveConnection = cnnXXB End With Set rst = cmdxxb.Execute cnnXXB.Close Set cmdxxb = Nothing Set cnnXXB = Nothing End Sub 2 計(jì)算平差系數(shù) Sub updatexbpcxs() Dim cnnXXB As New ADODB.Connection Dim cmdxxb As New ADODB.Command Set cnnXXB = CurrentProject.Connection Dim rst As New ADOD
12、B.Recordset Dim strUpdate As String strUpdate = UPDATE 無碎片小班面 SET pcxs = Shape_Area/GylZMj + WHERE gyl_id 0 With cmdxxb .CommandText = strUpdate .CommandType = adCmdUnknown .ActiveConnection = cnnXXB End With Set rst = cmdxxb.Execute cnnXXB.Close Set cmdxxb = Nothing Set cnnXXB = Nothing End Sub 3 計(jì)
13、算平差面積 Sub updatexbpcmj() Dim cnnXXB As New ADODB.Connection Dim cmdxxb As New ADODB.Command Set cnnXXB = CurrentProject.Connection Dim rst As New ADODB.Recordset Dim strUpdate As String strUpdate = UPDATE 無碎片小班面 SET NewDxMj = round(pcxs*兌現(xiàn)面積,1) With cmdxxb .CommandText = strUpdate .CommandType = adC
14、mdUnknown .ActiveConnection = cnnXXB End With Set rst = cmdxxb.Execute cnnXXB.Close Set cmdxxb = Nothing Set cnnXXB = Nothing End Sub * 2 公益林圖斑兌現(xiàn)面積平差差值處理 Option Compare Database Option Explicit Sub updateData() Dim cnn As ADODB.Connection Set cnn = CurrentProject.Connection Dim strsqlxxb As String D
15、im lngGylid As Long Dim douNewdxmj As Double Dim douTbmj As Double Dim douMjc As Double Dim strStart As String strStart = Time strsqlxxb = SELECT gyl_id, sum(NewDxMj), 兌現(xiàn)面積 strsqlxxb = strsqlxxb + FROM 無碎片小班面 WHERE gyl_id 0 strsqlxxb = strsqlxxb + GROUP BY gyl_id, 兌現(xiàn)面積 strsqlxxb = strsqlxxb + ORDER
16、BY gyl_id, 兌現(xiàn)面積 Dim rsXXB As ADODB.Recordset Set rsXXB = New ADODB.Recordset rsXXB.Open strsqlxxb, cnn, adOpenForwardOnly, adLockBatchOptimistic Dim intXXB As Integer Do While Not rsXXB.EOF lngGylid = rsXXB.Fields.Item(0).Value douNewdxmj = Round(rsXXB.Fields.Item(1).Value, 1) douTbmj = Round(rsXXB.
17、Fields.Item(2).Value, 1) douMjc = douNewdxmj - douTbmj If douMjc 0 Then updatexxb lngGylid, douMjc End If rsXXB.MoveNext Loop rsXXB.Close Set rsXXB = Nothing cnn.Close Set cnn = Nothing MsgBox strStart + 開始, + Str(Time) + 公益林圖斑兌現(xiàn)面積平差差值處理結(jié)束!, vbOKOnly, 提示 End Sub 公益林圖斑兌現(xiàn)面積平差差值處理 Sub updatexxb(gylid A
18、s Long, mjc As Double) Dim cnnXXB As New ADODB.Connection Dim cmdxxb As New ADODB.Command Dim strUpdate As String Set cnnXXB = CurrentProject.Connection 查找面積最大圖斑 Dim rsFind As ADODB.Recordset Set rsFind = New ADODB.Recordset Dim strFind As String strFind = SELECT gyl_id, Max(NewDxMj) AS xbmjMax strF
19、ind = strFind + FROM 無碎片小班面 WHERE gyl_id= + Str(gylid) strFind = strFind + GROUP BY gyl_id ORDER BY gyl_id rsFind.Open strFind, cnnXXB, adOpenForwardOnly, adLockBatchOptimistic Dim lngGylid As Long Dim douMaxMj As Double lngGylid = rsFind.Fields.Item(0).Value douMaxMj = Round(rsFind.Fields.Item(1).Value, 1) 更新面積最大圖斑兌現(xiàn)面積 Dim rsM As New ADODB.Recordset strUpdate = UPDATE 無碎片小班面 SET NewDxMj= + Str(douMaxMj - mjc) + WHERE gyl_id= + Str(gylid) strUpda
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版?zhèn)€人車輛抵押債權(quán)債務(wù)處理執(zhí)行協(xié)議3篇
- 2025年度個(gè)人新能源汽車充電站場地承包協(xié)議2篇
- 2025版新能源汽車電池委托加工合同范本3篇
- 2025-2030全球眼科手術(shù)剪行業(yè)調(diào)研及趨勢分析報(bào)告
- 2025年全球及中國公共交流充電站行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025年全球及中國碳納米管微球行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025-2030全球汽車燃油回流管路行業(yè)調(diào)研及趨勢分析報(bào)告
- 二樓商業(yè)租賃專項(xiàng)協(xié)議(2024版)版
- 二零二五年度車輛牌照租賃市場拓展與合作開發(fā)合同4篇
- 二零二五年度車牌租賃與廣告合作協(xié)議3篇
- 二零二五年度無人駕駛車輛測試合同免責(zé)協(xié)議書
- 2025年湖北華中科技大學(xué)招聘實(shí)驗(yàn)技術(shù)人員52名歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 黑龍江省哈爾濱市2024屆中考數(shù)學(xué)試卷(含答案)
- 高三日語一輪復(fù)習(xí)助詞「と」的用法課件
- 毛渣采購合同范例
- 無子女離婚協(xié)議書范文百度網(wǎng)盤
- 2023中華護(hù)理學(xué)會(huì)團(tuán)體標(biāo)準(zhǔn)-注射相關(guān)感染預(yù)防與控制
- 一年級(jí)數(shù)學(xué)個(gè)位數(shù)加減法口算練習(xí)題大全(連加法-連減法-連加減法直接打印版)
- 五年級(jí)上冊小數(shù)遞等式計(jì)算200道及答案
- 2024年廣東高考政治真題考點(diǎn)分布匯 總- 高考政治一輪復(fù)習(xí)
- 冀教版五年級(jí)下冊數(shù)學(xué)全冊教學(xué)課件
評(píng)論
0/150
提交評(píng)論