作者MAGICXX (逢甲阿法)
看板Geography
标题Re: [问题] GIS 批次输入Attributes Table
时间Wed Mar 9 16:24:16 2011
※ 引述《twmtman (?)》之铭言:
: 以下为我半生不熟的VBA写的code,里面可能还有不少bug,原PO你可能要自己debug
: Private Sub batchIDW()
: '读取excel
: Set myExcel = CreateObject("Excel.Application")
: With myExcel
: .Workbooks.Open "C:\test\data.xls" '要打开的 xls 档案
: Set rng = .ActiveSheet.UsedRange
: row_c = rng.Rows.Count '读取row数量
: '呼叫toolbox
: Dim GP As Object
: Set GP = CreateObject("esriGeoprocessing.GpDispatch.1")
: 'Set the toolbox
: GP.Toolbox = "C:\Program Files\ArcGIS\ArcToolBox\Toolboxes\
: Data Management Tools.tbx"
: Dim ss as string ' 用来储存calculate field的 VB code
: '开始回圈
: for i = 0 to row_c
: dim output as string
: '从excel栏位读取第i行的数值
: output = "C:\test\IDW" & .Worksheets("Sheet1").Range("A" & i)
: Value_A = .Worksheets("Sheet1").Range("B" & i)
: Value_B = .Worksheets("Sheet1").Range("C" & i)
: Value_C = .Worksheets("Sheet1").Range("D" & i)
: Value_D = .Worksheets("Sheet1").Range("E" & i)
: Value_E = .Worksheets("Sheet1").Range("F" & i)
: 写calculate field的 VB code
: ss = "dim a as string"
: ss = ss & "\n if [name] = ""A"" then a = " & Value_A
: ss = ss & "\n elseif [name] = ""B"" then a = " & Value_B
: ss = ss & "\n elseif [name] = ""C"" then a = " & Value_C
: ss = ss & "\n elseif [name] = ""D"" then a = " & Value_D
: ss = ss & "\n elseif [name] = ""E"" then a = " & Value_E
: ss = ss & "\n end if"
: gp.calculateField "C:\test\point.shp", "value", "VB", ss
: '将此列数直写入value栏位
: GP.Toolbox = "C:\Program Files\ArcGIS\ArcToolBox\Toolboxes\Spatial Analyst Too
: ls.tbx"
: 'IDW内插
: gp.idw "C:\test\point.shp", "value", output, 100 'idw内插 cell size = 100m
: next '结束回圈
多谢这位大大为我编写的VBA程式码
不过我因为没有资工背景(顶多用FORTRAN...Orz)
所以叫我DEBUG真的是不太行 囧
我目前已经成功的利用excel下去将资料都加入field了
我现在想到另外一种方法下去运算idw 不过有点卡住....
我利用gis里面的 model这个东西来处理这些东西
可是 虽然我现在已经有了初步的方法了
http://tinyurl.com/4rgo3vb
不过这个样子的话 我还是一次跑一个field..
利用上面这个方法(model) 有办法写出让他重复的回圈吗?
比如说
http://tinyurl.com/4sleopw
在红线的地方在加入程式码(多个toolbox 或者是可以多一道手续)
这个样子下去做多次回圈吗?
当我完成之後 我会发p币给大大们....作为酬谢Q_Q
--
#1CYsr0re (Keelung)
1F:→ todo70192:因为引擎的声音太大声了 尤其是在桥下 回音更大声09/11 20:11
2F:→ todo70192:害我没办法专心讲电话 听不清楚09/11 20:12
3F:→ sinyuan99:所以要怪机车骑士吗?_?09/11 20:24
4F:→ todo70192:没错 机车骑太凶 引擎声音太大 没考虑到路边讲电话听不09/11 20:25
5F:→ todo70192:清楚09/11 20:25
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.121.146.41
※ 编辑: MAGICXX 来自: 140.121.146.41 (03/09 16:24)
※ 编辑: MAGICXX 来自: 140.121.146.41 (03/09 16:26)