当前位置:文档之家› 东华理工GIS二次开发实验报告(新)

东华理工GIS二次开发实验报告(新)

东华理工GIS二次开发实验报告(新)
东华理工GIS二次开发实验报告(新)

GIS二次开发实验报告

学号:

姓名:

班级:

专业:

目录

1系统特色 (1)

2DotNetBar介绍 (3)

3文件打开实现 (4)

4多标签切换实现 (7)

5 属性表实现 (8)

6柱状图渲染实现 (10)

7 状态条实现与比例尺调整实现 (15)

8 最短路径分析实 (16)

9 多边形选择 (23)

10 鹰眼设计实现 (24)

11 实验总结 (25)

1系统特色

系统特色:

1、人性化界面,大标签UI。

2、D otNetBar控件同ArcGis控件结合,提升系统的整体美观程度。

3、一体化仿Office主题设计,色调和谐。

4、多标签模式,支持同时打开多个文档。

5、属性设置方便直观。

6、图层窗、鹰眼窗、属性表窗支持任意拖动调整位置与停靠。

2DotNetBar介绍

DotNetBar是一组用于.NET Framework环境下的一组组件集,利用该组件集能够打造绚丽并且实用的应用程序界面,给开发人员提供极大的便利。

由于DotNetBar2内容极为丰富,因此先在工具箱中“添加选项卡”(DotNetBar2),然后在此选项卡下“选择项”,浏览DevComponents.DotNetBar2.dll文件,显示如下:

3 文件打开实现

● 单击“文件”按钮,会弹出“打开”和“关闭”选项,代码如下:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 private void OpenMXD_Click(object sender, EventArgs e)//“打开MXD 文件”按钮 { OpenFileDialog ofDialog = new OpenFileDialog(); ofDialog.Title = "输入ArcMap 文档名称"; ofDialog.Filter = "ArcView MXD 文件|*.mxd"; ofDialog.Multiselect = false ; if (ofDialog.ShowDialog() == DialogResult.OK) openFile(ofDialog.FileName, false ); } private void Openshape_Click(object sender, EventArgs e)//“打开shape 文件”按钮 { IWorkspaceFactory shpFactory = new ShapefileWorkspaceFactoryClass(); OpenFileDialog ofDialog = new OpenFileDialog(); ofDialog.Title = "输入ArcMap 文档名称"; ofDialog.Filter = "ArcView Shape 文件|*.shp"; ofDialog.Multiselect = false ; if (ofDialog.ShowDialog() == DialogResult.OK) { string fileName = ofDialog.FileName; string filePath = fileName.Substring(0, https://www.doczj.com/doc/5f9274453.html,stIndexOf('\\')); IWorkspace shpWorkspace = shpFactory.OpenFromFile(filePath, 0); IFeatureLayer ftlayer = new FeatureLayerClass(); IEnumDataset ds = shpWorkspace.get_Datasets(esriDatasetType.esriDTFeatureClass); IDataset featureClass = ds.Next(); ftlayer.FeatureClass = (IFeatureClass)featureClass; https://www.doczj.com/doc/5f9274453.html, = fileName; ILayer layer = ftlayer as ILayer; IMap mmap = sizelist[(int )superTabControl.SelectedTab.Tag].Map; mmap.AddLayer(layer); IActiveView act = mmap as IActiveView; act.Refresh(); } }

● 执行“打开文档”命令,代码如下:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 public void openFile(string fileName, bool isRecentFile)//打开文档 { ribbonTabItem2.Enabled = false ; ribbonTabItem1.Enabled = true ; m_ipPathFinder = null ; if (!isRecentFile)//如果不是从“最近打开”处打开的则记录该文档名 writeRecentFile(fileName); if (switch1)//当不是空文档时 { switch2 = false ; //新建一个文档标签为去地址文件名的标签 SuperTabItem tabItem = superTabControl.CreateTab(System.IO.Path.GetFileNameWithoutExtension(fileName)); AxMapControl newaxmap = new AxMapControl(); sizelist.Add(newaxmap); newaxmap.SendToBack(); newaxmap.Dock = DockStyle.Fill;

18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 tabItem.AttachedControl.Controls.Add(newaxmap); superTabControl.SelectNextTab(); superTabControl.SelectedTab.Tag = n++; newaxmap.LoadMxFile(fileName); axTOCClayer.SetBuddyControl(newaxmap); superTabControl.SelectNextTab(); newaxmap.OnMouseMove += new IMapControlEvents2_Ax_OnMouseMoveEventHandler(axMapControlOnMouseMove); switch2 = true ; newaxmap.OnMouseDown += new IMapControlEvents2_Ax_OnMouseDownEventHandler(axMapControlOnMouseDown); } else //否则直接载入 { superTabControl.SelectedTab.Text = System.IO.Path.GetFileNameWithoutExtension(fileName); sizelist[(int )superTabControl.SelectedTab.Tag].LoadMxFile(fileName); switch1 = true ; } anotherrefresh();//刷新标签 switch2 = true ; bar4.Show();//鹰眼框,图层框可用 bar5.Show(); bar5.AutoHide = true ; axMapEagleEye.Extent = axMapEagleEye.FullExtent; axMapEagleEye.ActiveView.Refresh(); //读取刚载入的地图的图层和字段信息 getLayerInfo(sizelist[(int )superTabControl.SelectedTab.Tag]); getAttributeInfo(sizelist[(int )superTabControl.SelectedTab.Tag]); }

本系统支持快速打开最近曾经打开过的文档,代码如下:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 public void writeRecentFile(string filename)//写入“最近文档”的记录文件 { try { StreamWriter s = new StreamWriter("\\Menu.ini", true ); s.WriteLine(filename); s.Flush(); s.Close(); } catch { } } public void readRecentFile()//读取最近打开的文档 { itemContainer4.SubItems.Clear(); try { StreamReader sr = new StreamReader("\\Menu.ini"); while (sr.Peek() >= 0) { ButtonItem recentFile = new ButtonItem(); recentFile.Tag = sr.ReadLine(); recentFile.Text = "&" + System.IO.Path.GetFileNameWithoutExtension((string )recentFile.Tag); recentFile.Click += new EventHandler(openRecentFile); itemContainer4.SubItems.Add(recentFile); } } catch { } } public void openRecentFile(object sender, EventArgs e)//打开最近打开的文档

30 31 32 33 { ButtonItem tempButton = (ButtonItem)sender; openFile((string )tempButton.Tag, true ); }

● 清除“最近打开栏”中的记录,代码如下:

1 2 3 4 5 6 7 8 private void clearRecentFile_Click(object sender, EventArgs e)//清除“最近打开” { itemContainer4.SubItems.Clear(); System.IO.FileStream stream = File.Open("\\Menu.ini", FileMode.OpenOrCreate, FileAccess.Write); stream.Seek(0, SeekOrigin.Begin); stream.SetLength(0); stream.Close(); }

● 当当前标签没有加载地图时,初始化一个空文档,代码如下:

1

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 private void FormWithNoDocument()//初始化一个空文档 { ribbonTabItem1.Enabled = false ;//空文档下不能进行图层选择操作 ribbonTabItem2.Enabled = false ; bar5.Hide();//鹰眼框,图层框,属性表框都隐藏 superTabControl.CreateTab("空文档");//创建标签为“空文档”的标签 superTabControl.SelectedTab.Tag = n++; bar4.Hide(); bar3.Hide(); AxMapControl newaxmap = new AxMapControl();//动态创建一个axmapcontrol newaxmap.BeginInit(); newaxmap.SendToBack(); newaxmap.Dock = DockStyle.Fill; sizelist.Add(newaxmap); superTabControl.SelectedTab.AttachedControl.Controls.Add(newaxmap);//将其加入该标签 newaxmap.OnExtentUpdated += new IMapControlEvents2_Ax_OnExtentUpdatedEventHandler(axMapControlOnExtentUpdated); newaxmap.OnMouseMove += new IMapControlEvents2_Ax_OnMouseMoveEventHandler(axMapControlOnMouseMove); newaxmap.OnMouseDown += new IMapControlEvents2_Ax_OnMouseDownEventHandler(axMapControlOnMouseDown); newaxmap.EndInit(); axTOCClayer.SetBuddyControl(newaxmap);//设置为关联组件 BTNattribute1.SubItems.Clear();//初始化所有图层、字段选择框 BTNlayer1.SubItems.Clear(); buttonItem4.SubItems.Clear(); buttonItem7.SubItems.Clear(); }

单击文件按钮,弹出菜单

4 多标签切换实现

● 相应“关闭标签”事件,代码如下:

1 2 3 4 5 6 7 8 9 private void superTabControl1_TabItemClose(object sender, SuperTabStripTabItemCloseEventArgs e) { if (superTabControl.Tabs.Count == 1)//如果只剩下唯一一个t 标签(一定是“空文档”标签) { switch2 = false ; switch1 = false ; FormWithNoDocument(); } }

● 相应“标签切换”事件,代码如下:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34

//当不是空文档时切换的文档标签切换事件 private void superTabControl_SelectedTabChanged (object sender, SuperTabStripSelectedTabChangedEventArgs e) { if (switch2) { m_ipPathFinder = null ; axMapEagleEye.LoadMxFile (sizelist[(int )superTabControl.SelectedTab.Tag].DocumentFilename);//加载该文档 axMapEagleEye.Extent = axMapEagleEye.FullExtent; axMapEagleEye.ActiveView.Refresh(); axTOCClayer.SetBuddyControl (sizelist[(int )superTabControl.SelectedTab.Tag]);//重新设置关联组件 axTOCClayer.ActiveView.Refresh(); nowSelectedLayer = 0;//初始化选择的图层 getLayerInfo(sizelist[(int )superTabControl.SelectedTab.Tag]);//重新读取该文档的信息 getAttributeInfo(sizelist[(int )superTabControl.SelectedTab.Tag]); } } private void anotherrefresh()//当是空文档时切换的文档标签切换事件 { m_ipPathFinder = null ; axMapEagleEye.LoadMxFile (sizelist[(int )superTabControl.SelectedTab.Tag].DocumentFilename); axMapEagleEye.Extent = axMapEagleEye.FullExtent; axMapEagleEye.ActiveView.Refresh(); axTOCClayer.SetBuddyControl (sizelist[(int )superTabControl.SelectedTab.Tag]); axTOCClayer.ActiveView.Refresh(); nowSelectedLayer = 0; getLayerInfo(sizelist[(int )superTabControl.SelectedTab.Tag]); getAttributeInfo(sizelist[(int )superTabControl.SelectedTab.Tag]); }

5 属性表实现

● 相应右键菜单“查看属性表” ,代码如下:

1 2 3 4 5 6 7 8 9 private void 查看属性表ToolStripMenuItem_Click(object sender, EventArgs e) { if (!barisshow) { shuxingbiao(); barisshow = true ;//表示属性表已打开 查看属性表ToolStripMenuItem.Enabled = false ; } }

● 相应ArcGis 图层列表单击事件,代码如下:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

ILayer m_Layer;//记录图层,提供给数据窗 private void axTOCControlOnMouseDown(object sender, ITOCControlEvents_OnMouseDownEvent e)//右键菜单 { AxTOCControl axt1 = (AxTOCControl)sender; esriTOCControlItem Item = esriTOCControlItem.esriTOCControlItemNone; IBasicMap pBasicMap = null ; ILayer pLayer = null ; object other = null ; object index = null ; //根据点击位置实现赋值 axt1.HitTest(e.x, e.y, ref Item, ref pBasicMap, ref pLayer, ref other, ref index); m_Layer = pLayer; if (Item == esriTOCControlItem.esriTOCControlItemLayer || Item == esriTOCControlItem.esriTOCControlItemLegendClass)//如果点击的地方是图层名或者图例 { if (e.button == 2)//显示右键菜单,并定义其相对控件的位置,正好在鼠标出显示 contextMenuStrip1.Show(axt1, new System.Drawing.Point(e.x, e.y)); else if (barisshow)//若已打开属性表框则左键点击直接显示其属性 shuxingbiao(); } }

● 显示属性表,代码如下:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 private void shuxingbiao()//显示所选图层的属性表 { IFeatureLayer pFeatureLayer = m_Layer as IFeatureLayer; IFeatureClass pFeatureClass = pFeatureLayer.FeatureClass; IFeatureCursor pFeatureCursor = pFeatureClass.Search(null , false ); IFeature pFeature = pFeatureCursor.NextFeature(); IFields pFields = pFeatureClass.Fields; int n1 = 0, n2 = 0; DataTable pTable = new DataTable(); for (int i = 0; i < pFields.FieldCount; i++)//获取所有列 { DataColumn pColumn = new DataColumn(pFields.get_Field(i).Name); if (pFields.get_Field(i).Type == esriFieldType.esriFieldTypeGeometry) n1 = i;

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

pTable.Columns.Add(pColumn);

}

while (pFeature != null)

{

DataRow pRow = pTable.NewRow();

for (int i = 0; i < pFields.FieldCount; i++)//添加每一列的值 {

pRow[i] = pFeature.get_Value(i);

}

pRow[n1] = getshapetype(m_Layer);

pTable.Rows.Add(pRow);

pFeature = pFeatureCursor.NextFeature();

n2++;

}

dockContainerItem1.Control.Show();

dataGridViewX1.DataSource = pTable;

bar3.Show();

barisshow = true;

}

右键显示属性表,属性表在下方显示

6 柱状图渲染实现

● 初始化图层信息,并将其添加到“选择图层”按钮的子项中,代码如下:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33

int pointLayer = 0;//记录点图层编号 private void getLayerInfo(AxMapControl axmaptemp)//读取图层信息 { BTNlayer1.SubItems.Clear();//清理菜单项的遗留 buttonItem4.SubItems.Clear(); BTNlayer2.SubItems.Clear(); for (int i = 0; i < https://www.doczj.com/doc/5f9274453.html,yerCount; i++) { ButtonItem newButtonItem = new ButtonItem();//新建菜单项 newButtonItem.Text = axmaptemp.get_Layer(i).Name;//将图层名赋予新建菜单项 newButtonItem.Tag = i;//设置该菜单项与图层对应的编号 newButtonItem.AutoCollapseOnClick = true ; newButtonItem.Click += new EventHandler(readLayerInfo);//绑定事件 BTNlayer1.SubItems.Add(newButtonItem);//加为该按钮的子项菜单 ButtonItem newButtonItem2 = new ButtonItem(); newButtonItem2.Text = axmaptemp.get_Layer(i).Name; newButtonItem2.Tag = i; newButtonItem2.AutoCollapseOnClick = true ; newButtonItem2.Click += new EventHandler(readLayerInfo); buttonItem4.SubItems.Add(newButtonItem2); //若图层为点图层,则显示为BTNlayer2按钮的子项,因为要求路径点为点图层 if (getshapetype(axmaptemp.get_Layer(i)) == "点") { pointLayer = i; ButtonItem newButtonItem3 = new ButtonItem(); newButtonItem3.Text = axmaptemp.get_Layer(i).Name; newButtonItem3.Tag = i; newButtonItem3.AutoCollapseOnClick = true ; newButtonItem3.Click += new EventHandler(readLayerInfo); BTNlayer2.SubItems.Add(newButtonItem3); } } }

● 确定要显示哪些图层的函数,代码如下:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 //确定字段的值是不是数字,因为有些功能限制某些字段必为值 public static int ParseFieldType(esriFieldType fieldType) { switch (fieldType) { case esriFieldType.esriFieldTypeInteger: return 2; case esriFieldType.esriFieldTypeDouble: return 1; case esriFieldType.esriFieldTypeSmallInteger: return 2; default : return 0; } }

● 读取所选择的图层,代码如下:

1 2 3 4 5 6 private void readLayerInfo(object sender, EventArgs e)//读取所选择的图层 {

ButtonItem tempButton = (ButtonItem)sender; nowSelectedLayer = (int )tempButton.Tag;

getAttributeInfo(sizelist[(int )superTabControl.SelectedTab.Tag]); }

● 根据所选择的图层,初始化字段信息,并将其添加到“选择字段”按钮的子项中,代码如下:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 //颜色选择器记录列表,记录所有被添加的颜色选择器 List allColor = new List(); int checkboxnum = 0;//记录复选框的编号,为了与颜色选择器对应 List allcheckbox = new List(); private void getAttributeInfo(AxMapControl axmaptemp)//获取字段信息 { allColor.Clear();//清空颜色选择器记录列表 allcheckbox.Clear();//清空复选框记录列表 checkboxnum = 0; BTNattribute1.SubItems.Clear();//清空属性列表 buttonItem7.SubItems.Clear(); //获取属性字段 IFeatureLayer pFeatureLayer = axmaptemp.get_Layer(nowSelectedLayer) as IFeatureLayer; IFeatureClass pFeatureClass = pFeatureLayer.FeatureClass; IFeatureCursor pFeatureCursor = pFeatureClass.Search(null , false ); IFeature pFeature = pFeatureCursor.NextFeature(); IFields pFields = pFeatureClass.Fields; for (int k = 0; k < pFields.FieldCount; k++) //获取所有列 { if (ParseFieldType(pFields.get_Field(k).Type) != 0)//只选择值为数字的字段 { CheckBoxItem newcheckbox = new CheckBoxItem();//新建复选框 newcheckbox.Text = pFields.get_Field(k).Name;//赋名字 newcheckbox.AutoCollapseOnClick = false ; ButtonItem newbuttonIn = new ButtonItem(); newbuttonIn.Text = newcheckbox.Text; newcheckbox.Tag = checkboxnum; allcheckbox.Add(newcheckbox); ColorPickerDropDown newColorPicker = new ColorPickerDropDown(); allColor.Add(newColorPicker); newbuttonIn.Tag = checkboxnum; newbuttonIn.Click += new EventHandler(selectedAttribute); newColorPicker.Tag = checkboxnum++; newColorPicker.Symbol = buttonX1.Symbol;//设置颜色选择器的图标 newColorPicker.ShowSubItems = false ; newColorPicker.AutoCollapseOnClick = false ; newColorPicker.AutoExpandOnClick = true ; newColorPicker.SelectedColorChanged += new EventHandler(colorPickerDropDownSelectedColorChanged); newColorPicker.AutoDisposeImages = true ; newColorPicker.SymbolSize = 12; newColorPicker.PopupSide = ePopupSide.Left;//设置颜色选择器向左弹出子菜单 DevComponents.DotNetBar.ItemContainer newItemContainer = new ItemContainer(); newItemContainer.SubItems.Add(newColorPicker); newItemContainer.SubItems.Add(newcheckbox); BTNattribute1.SubItems.Add(newItemContainer); buttonItem7.SubItems.Add(newbuttonIn); }

49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 if (m_ipPathFinder == null )//打开几何网络工作空间,为网络分析做准备 { m_ipPathFinder = new ClsPathFinder(); IMap ipMap = axmaptemp.Map; ILayer ipLayer = ipMap.get_Layer(pointLayer); IFeatureLayer ipFeatureLayer = ipLayer as IFeatureLayer; IFeatureDataset ipFDB = ipFeatureLayer.FeatureClass.FeatureDataset; m_ipPathFinder.SetOrGetMap = ipMap; if (m_ipPathFinder.OpenFeatureDatasetNetwork(ipFDB)) ribbonTabItem2.Enabled = true ; else //弹出错误提示 { balloonTip1.SetBalloonText(ribbonControl1, "打开network 出错,不支持网络分析!"); balloonTip1.ShowBalloon(ribbonControl1); } } } }

● 读取所选择的字段及对应字段的颜色,代码如下:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 List strCollected = new List();//要进行柱状图渲染的字段 int nowSelectedLayer = 0; private void readAttributeInfo(object sender, EventArgs e)//根据所选择的图层读取该涂层的字段信息 { colorCollection.Clear();//初始化被选择颜色集合 strCollected.Clear();//初始化字段选择集合 for (int i = 0; i < allcheckbox.Count; i++) { if (allcheckbox[i].Checked)//若该字段被选中 { strCollected.Add(allcheckbox[i].Text);//将字段加入字段集合 IRgbColor tempColor = new RgbColor();//临时颜色变量 if (allColor[i].SelectedColor != Color.Empty)//如果设置了颜色,则设为该色 { tempColor.Red = allColor[i].SelectedColor.R; tempColor.Green = allColor[i].SelectedColor.G; tempColor.Blue = allColor[i].SelectedColor.B; } else //否则设为随机深颜色 tempColor = GetRandomDarkColor(); colorCollection.Add(tempColor);//被选择颜色集合加入此色 } } }

● 进行柱状图渲染,代码如下:

1 2 3 4 5 6 7 8 9 10 11 12 List colorCollection = new List();//颜色集合 public void BarChartRenderer(ILayer pLayer, List FieldNames)//构造柱状图 { IChartRenderer pChartRenderer = new ChartRendererClass(); IRendererFields pRendererFields = pChartRenderer as IRendererFields; for (int i = 0; i < FieldNames.Count; i++) { pRendererFields.AddField(FieldNames[i], FieldNames[i]);//读取所有被选中的字段 } IFeatureLayer pFeatureLayer = pLayer as IFeatureLayer; IGeoFeatureLayer pGeoFeatureLayer = pFeatureLayer as IGeoFeatureLayer; IFeatureClass pFeatureClass = pFeatureLayer.FeatureClass;

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68 int FieldsNum = FieldNames.Count;

int[] FieldIndecies = new int[FieldsNum]; for (int i = 0; i < FieldsNum; i++)

{

FieldIndecies[i] = pFeatureClass.FindField(FieldNames[i]);//将字段对应起来if (FieldIndecies[i] == -1)

{

MessageBox.Show("选择的字段名称有错误!");

return;

}

}

bool FirstValue = true;

double MaxValue = -1;//初始化一个最大值

for (int i = 0; i < FieldsNum; i++)

{

IFeatureCursor pFeatureCursor = pFeatureClass.Search(null, false);

IFeature pFeature = pFeatureCursor.NextFeature();

while (pFeature != null)

{

double FieldValue = Convert.ToDouble(pFeature.get_Value(FieldIndecies[i]));

if (FirstValue)//筛选最大值

{

MaxValue = FieldValue;

FirstValue = false;

}

else if (FieldValue > MaxValue)

MaxValue = FieldValue;

pFeature = pFeatureCursor.NextFeature();

}

}

IBarChartSymbol pBarChartSymbol = new BarChartSymbolClass();// 定义并设置渲染类型 pBarChartSymbol.Width = barwidth;//设置条带宽度

IChartSymbol pChartSymbol = pBarChartSymbol as IChartSymbol;

IMarkerSymbol pMarkerSymbol = pBarChartSymbol as IMarkerSymbol;

pChartSymbol.MaxValue = MaxValue;// 设置pChartSymbol的最大值

pMarkerSymbol.Size = maxHeighth;// 设置bar的最大高度

ISymbolArray pSymbolArray = pBarChartSymbol as ISymbolArray;//给一个bar设置符号 ISimpleFillSymbol pSimpleFillSymbol;

IRgbColor pColor;

for (int i = 0; i < FieldsNum; i++)//读取各个字段的颜色

{

pColor = colorCollection[i];

pSimpleFillSymbol = new SimpleFillSymbolClass();

pSimpleFillSymbol.Color = pColor;

pSymbolArray.AddSymbol(pSimpleFillSymbol as ISymbol);

}

pColor = GetRandomLightColor();//设置背景符号

pSimpleFillSymbol = new SimpleFillSymbolClass();

pSimpleFillSymbol.Color = pColor;

pChartRenderer.BaseSymbol = pSimpleFillSymbol as ISymbol;

https://www.doczj.com/doc/5f9274453.html,eOverposter = false;

pChartRenderer.ChartSymbol = pChartSymbol;

pChartRenderer.CreateLegend();

pGeoFeatureLayer.Renderer = pChartRenderer as IFeatureRenderer;

sizelist[(int)superTabControl.SelectedTab.Tag].ActiveView.Refresh();

}

若未定义颜色,则自动生成颜色,代码如下:

4 5 6 7 8 9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32 int nRed, nGreen, nBlue; int redLow = 180;

int greenLow = 180;

int blueLow = 180;

nRed = random.Next(redLow);

nGreen = random.Next(greenLow);

nBlue = random.Next(blueLow);

IRgbColor color = new RgbColor();

color.Red = nRed;

color.Green = nGreen;

color.Blue = nBlue;

return color;

}

public IRgbColor GetRandomLightColor()//生成随机浅色

{

int nRed, nGreen, nBlue;

int high = 255;

int Low = 200;

nRed = random.Next(Low, high);

nGreen = random.Next(Low, high);

nBlue = random.Next(Low, high);

IRgbColor color = new RgbColor();

color.Red = nRed;

color.Green = nGreen;

color.Blue = nBlue;

return color;

}

柱状图渲染菜单如图所示

选择字段并设置颜色

生成的柱状图如图所示

7 状态条实现与比例尺调整实现

● 绑定主地图窗口的鼠标移动代码,代码如下:

1 2 3 4 5

private void axMapControlOnMouseMove(object sender, IMapControlEvents2_OnMouseMoveEvent e) { if (switch1)//若不是空文档则显示坐标 labelItem3.Text = "X=" + e.mapX.ToString() + " Y=" + e.mapY.ToString(); }

● 绑定滑动条值改变代码,代码如下:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

int nowvalue = 0;//当前缩放比例 private void SliderRating_ValueChanged(object sender, EventArgs e)//根据滑动条控制缩放比例 { int

change = SliderRating.Value - nowvalue; nowvalue = SliderRating.Value; IActiveView nowactive = sizelist[(int )superTabControl.SelectedTab.Tag].ActiveView; IEnvelope envolop = nowactive.Extent; if (change > 0) for (int n = 0; n < change; n++) envolop.Expand(0.9, 0.9, true ); else for (int n = 0; n < -change; n++) envolop.Expand(1.1, 1.1, true ); sizelist[(int )superTabControl.SelectedTab.Tag].Extent = envolop; nowactive.Refresh(); }

● 绑定“恢复最小比例尺”按钮代码,代码如下:

1 2 3 4 5

private void BTNfullExtent_Click(object sender, EventArgs e)//全屏显示按钮 { sizelist[(int )superTabControl.SelectedTab.Tag].Extent = sizelist[(int )superTabControl.SelectedTab.Tag].FullExtent; }

显示鼠标所指的图上坐标,坐标如图所示

8 最短路径分析实

绑定主地图窗口的鼠标按下代码,代码如下:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52

private void axMapControlOnMouseDown(object sender, IMapControlEvents2_OnMouseDownEvent e) { AxMapControl axmaptem = (AxMapControl)sender; else if (BTNstartDraw.Checked == true )//如果“绘制”按钮被按下 { IGeometry g = null ; IEnvelope pEnv; IActiveView pActiveView = axmaptem.ActiveView; IMap pMap = axmaptem.Map; pEnv = axmaptem.TrackRectangle(); if (pEnv.IsEmpty == true )//建立一个10*10的矩形选区 { ESRI.ArcGIS.esriSystem.tagRECT r; r.bottom = e.y + 5; r.top = e.y - 5; r.left = e.x - 5; r.right = e.x + 5; pActiveView.ScreenDisplay.DisplayTransformation.TransformRect(pEnv, ref r, 4); pEnv.SpatialReference = pActiveView.FocusMap.SpatialReference; } g = pEnv as IGeometry; ISelectionEnvironment pSelectionEnv = new SelectionEnvironment();//新建选择环境 IRgbColor pColor = new RgbColor(); pColor.Red = 255;//被选中的点为红色 pSelectionEnv.DefaultColor = pColor; //选择要素,true 表示在选择框里找到一个就停止搜索 axmaptem.Map.SelectByShape(g, pSelectionEnv, true ); axmaptem.Refresh(); IEnumFeatureSetup pEnumFeatureSetup = axmaptem.Map.FeatureSelection as IEnumFeatureSetup; pEnumFeatureSetup.AllFields = true ; IEnumFeature pEnumFeature = pEnumFeatureSetup as IEnumFeature; if (pEnumFeature == null ) return ; IFeature pFeature = pEnumFeature.Next(); //如果选择的要素是点要素 if (pFeature != null && pFeature.Shape.GeometryType == esriGeometryType.esriGeometryPoint) { selectedFeature.Add(pFeature);//加入被选中点集合 axmaptem.Map.ClearSelection();//清除选区 foreach (IFeature featuretemp in selectedFeature)//重新绘制点要素集中所有的点 axmaptem.Map.SelectFeature(axmaptem.get_Layer(pointLayer), featuretemp); } else return ; if (m_ipPoints == null )//新建点集 m_ipPoints = new MultipointClass(); IPoint poi = (IPoint)pFeature.Shape; object o = Type.Missing; m_ipPoints.AddPoint(poi, o, o);//添加该点 m_ipPathFinder.StopPoints = m_ipPoints; } }

● 选择权字段,代码如下:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42

string PofAttribute = "";//最短路径的权字段 private void selectedAttribute(object sender, EventArgs e)//选择最短路径的权字段 { ButtonItem tempbutton = (ButtonItem)sender; PofAttribute = tempbutton.Text; } int LineSymbolWidth = 5; private void BTNshortestWay_Click(object sender, EventArgs e)//构建最短路径 { if (PofAttribute == "") { balloonTip1.SetBalloonText(bar2, "请选择权字段"); balloonTip1.ShowBalloon(bar2); return ; } if (m_ipPathFinder.SetOrGetMap == null ) return ; m_ipPathFinder.SolvePath(PofAttribute);//先解析路径 IPolyline ipPolyResult = m_ipPathFinder.PathPolyLine();//最后返回最短路径 ISimpleLineSymbol pLineSymbol = new SimpleLineSymbolClass();//设置Symbol 属性 if (colorPickerDropDown1.SelectedColor == Color.Empty)//设置颜色 pLineSymbol.Color = GetRandomDarkColor(); else { IRgbColor tempcolor = new RgbColor(); tempcolor.Red = colorPickerDropDown1.SelectedColor.R; tempcolor.Green = colorPickerDropDown1.SelectedColor.G; tempcolor.Blue = colorPickerDropDown1.SelectedColor.B; pLineSymbol.Color = tempcolor; } pLineSymbol.Width = LineSymbolWidth; IElement m_Element = new LineElement(); m_Element.Geometry = ipPolyResult; ILineElement plinelement = (ILineElement)m_Element; plinelement.Symbol = pLineSymbol; IGraphicsContainer m_Container = sizelist[(int )superTabControl.SelectedTab.Tag].Map as IGraphicsContainer; m_Container.AddElement(m_Element, 0); m_ipPoints = null ; m_ipPathFinder.StopPoints = null ; sizelist[(int )superTabControl.SelectedTab.Tag].ActiveView.Refresh(); }

● 实现“最短路径”类,代码如下:

1 2 3 4 5 6 7 8 9 10 11 12 13 public class ClsPathFinder { private IGeometricNetwork m_ipGeometricNetwork; private IMap m_ipMap; private IPointCollection m_ipPoints; private IPointToEID m_ipPointToEID; private double m_dblPathCost = 0; private IEnumNetEID m_ipEnumNetEID_Junctions; private IEnumNetEID m_ipEnumNetEID_Edges; private IPolyline m_ipPolyline; public IMap SetOrGetMap //返回和设置当前地图 {

14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 set { m_ipMap = value; } get { return m_ipMap; } } //打开几何数据集的网络工作空间 public bool OpenFeatureDatasetNetwork(IFeatureDataset FeatureDataset) { CloseWorkspace(); if (!InitializeNetworkAndMap(FeatureDataset)) return false ; return true ; } public IPointCollection StopPoints //输入点的集合 { set { m_ipPoints = value; } get { return m_ipPoints; } } public double PathCost //路径成本 { get { return m_dblPathCost; } } public IPolyline PathPolyLine()//返回路径的几何体 { IEIDInfo ipEIDInfo; IGeometry ipGeometry; if (m_ipPolyline != null ) return m_ipPolyline; m_ipPolyline = new PolylineClass(); IGeometryCollection ipNewGeometryColl = m_ipPolyline as IGeometryCollection; ISpatialReference ipSpatialReference = m_ipMap.SpatialReference; IEIDHelper ipEIDHelper = new EIDHelperClass(); ipEIDHelper.GeometricNetwork = m_ipGeometricNetwork; ipEIDHelper.OutputSpatialReference = ipSpatialReference; ipEIDHelper.ReturnGeometries = true ; try { IEnumEIDInfo ipEnumEIDInfo = ipEIDHelper.CreateEnumEIDInfo(m_ipEnumNetEID_Edges); int count = ipEnumEIDInfo.Count; ipEnumEIDInfo.Reset(); for (int i = 0; i < count; i++) { ipEIDInfo = ipEnumEIDInfo.Next(); ipGeometry = ipEIDInfo.Geometry; ipNewGeometryColl.AddGeometryCollection(ipGeometry as IGeometryCollection); } } catch { }

地理信息系统课程设计报告

地理信息系统课程设计 实习报告 班级:地信10701班 学生姓名:陈鹏 学号:200701144 指导老师:何贞铭刘少华邵燕林 日期: 2010年9月

目录 一、课程设计目的 (1) 二、课程设计任务 (1) 三、空间数据建库 (1) 四、系统功能设计 (1) 五、系统界面设计 (2) 六、系统功能实现 (2) 七、实习成果展示 (2) 八、总结和体会 (2)

地理信息系统课程设计报告 一、课程设计目的 (标题四号宋体加黑,正文五号宋体,行间距-固定值18,首行缩进2字符) 本次地理信息系统课程设计是在完成《地理信息系统原理》、《GIS软件工程》等课程 后开展的实践性课程设计。本次课程设计主要完成地图矢量化(空间数据库设计与建库)、 系统功能设计、系统界面设计和部分功能的实现;通过本次实习对三个GIS平台软件(SuperMap、ArcView、MapGIS)的各个功能模块有了较深入了解、熟悉和掌握;通过这 次课程设计也进一步熟悉了基于GIS平台提供的组件进行应用系统开发的一般方法、思路和 流程。其主要的目的概括为: 1、熟练掌握三种GIS的公共平台及其开发环境; 2、熟练掌握三种GIS二次开发组件开发GIS应用软件; 3、掌握GIS数据库建库方法和地物编码方法; 4、理解和掌握GIS工程原理及方法。 二、课程设计任务 课程设计的主要任务是利用G IS公共平台提供的二次开发环境开发一套“校园GIS软件”,在遵循国家基础地理编码的基础上建立更详细的校园地物编码系统,实现校园内的地面建筑、道路、绿化面积等地物信息的可视化管理和查询,并可据此进行简单的空间分析。 1.建立校园地物编码系统(各个教学设施,如各个楼层的编码等) 2.建立校园地物的空间拓扑关系; 3.建立空间数据及属性数据库(最好采用独立的商业数据库进行建库或设计数据库); 4.建立空间数据的查询系统; 5.实现空间分析的基本功能(包括缓冲区分析、叠加分析和路径分析等),如道路的 缓冲区分析; 6.提交书面报告(编码系统、数据库设计、软件设计流程和软件使用说明等)和校园 GIS系统软件运行程序及原始程序代码等。 三、空间数据库设计与建库 。。。。。。 (地图分层、属性库设计,数字化地图基本流程) 四、系统功能设计 。。。。。。 1

GIS实习报告

实习1 步骤: 1.下载安徽地区DEM数据,如多幅,做图像的拼接。登录https://www.doczj.com/doc/5f9274453.html,/下载DEM数据 拼接: 2.DEM填洼

3.水流方向矩阵 4.水流累积量矩阵

5.生成河网 提取河流网络矢量数据:

平滑处理河流网络: 打开[编辑器]工具栏,执行工具栏中的命令[编辑器]——>[开始编辑],确保目标图层为河流网络图层[StreamT_StreamN1],通过打开[StreamT_StreamN1]属性表,并选择属性表的所有行选择图层[StreamT_StreamN1]中的所有要素,也可以通过[要素选择按钮]选择图层中所有要素 执行[编辑器]工具栏中的命令[编辑器]——>[更多的编辑工具]——>[高级编辑]打开工具条:[高级编辑],点击其上的[平滑]按钮: 在[平滑]处理对话框中输入参数[允许最大偏移]为4,得到平滑后的河流网络矢量图层,执行命令: [编辑器]——>[停止编辑],保存所做修改。 实习2—1

1. 现有某区域一幅有投影信息的单波段遥感图像(tm00.img)、DEM数据、两幅多光谱遥感图像(tm01.img\tm0 2.img)及该区域的矢量数据图层文件(bound.shp),其中有一幅多光谱图像无投影信息(tm02.img),现需要对无投影信息的多光谱图像进行几何校正、镶嵌、裁切等处理,并利用矢量数据裁剪镶嵌后的多光谱数据,利用裁剪后的多光谱数据及DEM数据,提取区域植被覆盖信息。 要求: 以有投影信息的单波段遥感图像为参考空间,对tm02img进行几何校正;命名为jztm02img,对jztm02img及tm01.img进行镶嵌,并用bound.shp进行裁剪,记录主要操作过程及结果,要求结果中体现几何校正中控制点分布、控制点数量,RMS要求在0.5个像元内。 利用裁剪后的多光谱数据及DEM数据,提取区域缓坡植被信息、非朝北缓坡植被、陡坡植被、水体、裸地、背景区,提取规则如下: 朝北缓坡植被:NDVI大于0.25,坡度小于20°,朝北 非朝北缓坡植被:NDVI大于0.25,坡度小于20°,非朝北 陡坡植被:NDVI大于0.25,坡度大于等于20° 水体:NDVI小于等于0.25,波段4的DN值大于0且小于20 裸地:NDVI小于等于0.25,波段4的DN值大等于20 背景区:NDVI小于等于0.25,波段4的DN值等于0 要求规则表达正确,统计各类植被信息百分比,并对分类结果进行专题制图,专题要求有经纬网、图名、指北针、比例尺、图例,制图符合规范。 1.用tm00对tm02配准。得到tm02_pz 配准菜单下——几何校正——图像到图像

GIS二次开发实验报告

GIS二次开发实验报告 学号: 姓名: 班级: 专业: 指导老师: 二零一五年11月15日

目录 1 实验一:软件安装与AOI书签开发 (2) 1.1 实验目的 (2) 1.2 实验内容 (2) 1.3 实验结果 (2) 2 实验二:地图数据组织与访问 (5) 2.1 实验目的 (5) 2.2 实验内容 (5) 2.3 实验结果 (5) 3 实验三:地图渲染与制图输出 (9) 3.1 实验目的 (9) 3.2 实验内容 (9) 3.3 实验结果 (9) 4 实验四:空间数据处理 (14) 4.1 实验目的 (14) 4.2 实验内容 (14) 4.3 实验结果 (14) 5 实验五:GIS分析 (20) 5.1 实验目的 (20) 5.2 实验内容 (20) 5.3 实验结果 (20) 6实验六:栅格数据处理 (25) 4.1 实验目的 (25) 4.2 实验内容 (25) 4.3 实验结果 (25) 7实验总结 (31)

1实验一:软件安装与AOI书签开发 1.1实验目的 ?掌握AOI书签程序开发 1.2实验内容 ?实现AOI书签的创建 ?实现AOI书签的调用 1.3实验步骤与结果 安装程序后,新建地图显示项目。在程序的主窗体上端添加添加菜单项,文本属性为创建书签,控件名为miCreateBookmark,在旁边添加组合框,控件名为cbBookmarkList。 1.右击引用选择AddArcGIS Reference在弹出的对话框中添加引用在主窗体(即MainForm.cs)中添加代码; (1)首先添加引用代码:using ESRI.ArcGIS.Display; using ESRI.ArcGIS.esriSystem; using ESRI.ArcGIS.Carto; using ESRI.ArcGIS.Controls; using ESRI.ArcGIS.ADF; using ESRI.ArcGIS.SystemUI; using ESRI.ArcGIS.Geometry; using ESRI.ArcGIS.Geodatabase; using ESRI.ArcGIS.DataSourcesFile; using ESRI.ArcGIS.DataSourcesRaster; (此引用代码都需添加引用后才可以使用,上述引用代码为本类中所需要的所有引用,在之后的编程中,可以不用重复引用) (2)添加“创建书签”函数 在MainForm类中添加成员函数CreateBookMark,代码如下: public void CreateBookmark(string sBookmarkName)//参数为书签名 { //通过IAOIBookmark接口创建一个变量,其类型为AOIBookmark,用于保存当前地图的范围 IAOIBookmark aoiBookmark = new AOIBookmarkClass(); if (aoiBookmark != null) { aoiBookmark.Location = axMapControl1.ActiveView.Extent;

arcgis栅格数据空间分析实验报告课案

实验五栅格数据的空间分析 一、实验目的 理解空间插值的原理,掌握几种常用的空间差值分析方法。 二、实验内容 根据某月的降水量,分别采用IDW、Spline、Kriging方法进行空间插值,生成中国陆地范 围内的降水表面,并比较各种方法所得结果之间的差异,制作降水分布图。 三、实验原理与方法 实验原理:空间插值是利用已知点的数据来估算其他临近未知点的数据的过程,通常用于将 离散点数据转换生成连续的栅格表面。常用的空间插值方法有反距离权重插值法(IDW)、 样条插值法(Spline)和克里格插值方法(Kriging)。 实验方法:分别采用IDW、Spline、Kriging方法对全国各气象站点1980年某月的降水量 进行空间插值生成连续的降水表面数据,分析其差异,并制作降水分布图。 四、实验步骤 ⑴打开arcmap,加载降水数据,行政区划数据,城市数据,河流数据,并进行符号化,对 行政区划数据中的多边形取消颜色填充 ⑵点击空间分析工具spatial analyst→options,在general标签中将工作空间设置为实验数据所在的文件夹

⑶点击spatial analyst→interpolate to raster→inverse distance weighted,在input points下拉框中输入rain1980,z字段选择rain,像元大小设置为10000 点击空间分析工具spatial analyst→options,在extent标签中将分析范围设置与行政区划一致,点击spatial analyst→interpolate to raster→inverse distance weighted,在input points下拉框中输入rain1980,z 字段选择rain,像元大小设置为10000

地理信息系统课程设计报告

YANGTZE UNIVERSITY 地理信息系统课程设计 实习报告 班级: 地信10701班 学生姓名:陈鹏 学号: 200701144 指导老师:何贞铭刘少华邵燕林 日 2010 年9月 期 1 / 4

目录 一、课程设计目的 (1) 二、课程设计任务 (1) 三、空间数据建库 (1) 四、系统功能设计 (1) 五、系统界面设计 (2) 六、系统功能实现 (2) 七、实习成果展示 (2) 八、总结和体会 (2)

一、课程设计目的 (标题四号宋体加黑,正文五号宋体,行间距-固定值18,首行缩进2字符) 本次地理信息系统课程设计是在完成《地理信息系统原理》、《GIS软件工程》等课程 后开展的实践性课程设计。本次课程设计主要完成地图矢量化(空间数据库设计与建库)、 系统功能设计、系统界面设计和部分功能的实现;通过本次实习对三个GIS平台软件(SuperMap、ArcView、MapGIS )的各个功能模块有了较深入了解、熟悉和掌握;通过这次课程设计也进一步熟悉了基于GIS平台提供的组件进行应用系统开发的一般方法、思路和流程。其主要的目的概括为: 1、熟练掌握三种GIS的公共平台及其开发环境; 2、熟练掌握三种GIS二次开发组件开发GIS应用软件; 3、掌握GIS数据库建库方法和地物编码方法; 4、理解和掌握GIS工程原理及方法。 二、课程设计任务 课程设计的主要任务是利用GIS公共平台提供的二次开发环境开发一套“校园GIS软件”,在遵循国家基础地理编码的基础上建立更详细的校园地物编码系统,实现校园内的地面建筑、道路、绿化面积等地物信息的可视化管理和查询,并可据此进行简单的空间分析。 1.建立校园地物编码系统(各个教学设施,如各个楼层的编码等)2.建立校园地物的空间拓扑关系; 3.建立空间数据及属性数据库(最好采用独立的商业数据库进行建库或设计数据库)4.建立空间数据的查询系统; 5.实现空间分析的基本功能(包括缓冲区分析、叠加分析和路径分析等),如道路的缓冲区分析; 6.提交书面报告(编码系统、数据库设计、软件设计流程和软件使用说明等)和校园 GIS系统软件运行程序及原始程序代码等。 三、空间数据库设计与建库 。。。。。。 (地图分层、属性库设计,数字化地图基本流程) 四、系统功能设计 O O O O O O C/S、B/S等等,系统总体结构图层次图,功能模块详细分述)(采用何种体系结构- 1 / 4

GIS开发实习报告

学号1221030205 实习报告 GIS程序设计实习 起止日期:2015 年7 月13 日至2015 年7 月19 日 学生姓名吴馁 班级12级地信2 班 成绩 指导教师(签字) 地质与测绘学院 2015年7 月20 日

GIS程序设计实习 一、实习目的 通过GIS程序设计实习,使学生了解需求分析、项目管理方案设计、系统总体设计以及系统详细设计、系统实施、运行和维护等阶段要完成的具体工作;掌握在C#和ArcEngine环境下构建应用型地理信息系统的方法。 二、实习内容 熟悉开发环境:Visual Studio 2010; C#; Arc Engine 10.1 功能需求分析 基于组件技术开发应用型地理信息系统 组件式技术已成为当今软件技术的潮流之一。组件式GIS软件的基本思想是把GIS各大功能模块划分为几个控件。各个GIS控件之间,以及GIS控件与其他非GIS控件之间,可以方便地通过可视化的软件开发工具集成起来,形成最终的GIS应用。 重点完成的工作包括:1)建立ArcGIS Engine 应用程序框架;2)实现对矢量数据(Shape File格式)的访问;3)实现采用简单、唯一值、分类等多种方式对面状矢量数据进行渲染(Render)。 三、实习步骤: 实习一:初识ArcGIS Engine 开发环境 1、新建一个Windows窗体应用程序

2、在新建窗体中添加控件 在工具箱中选择添加toolbarcontrol,TOCControl,MapControl控件 在解决方案资源管理器中双击program.cs在主函数中添加ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.Engine);使得文件可以加载到MapControl中。

mapgis地图矢量化实验报告心得体会(20200604031440)

mapgis地图矢量化实验报告心得体会 篇一:MAPGIS综合实验报告 MAPGIS综合报告 目录 一、实验目的 (02) 二、实验过程 栅格图像配准 (03) 2.图像二值化 (05) 矢量化 (06) 4.图形编辑 (11) 5.属性编辑 (19) 6.图文互查 (21) 7.对说获得的数据进行利用和分析 (24) 8.自定义制图符号 (31) 9.输出不同比例尺地图 (35) 三、实验总结 (41) MAPGIS实验综合报告 一、实验目的。 MAPGIS是通用的工具型地理信息系统软件,具有强大的空间数据的图形显示、各类地图制图的制作功能,作为个来

数学信息的可视化转换工具,可以讲数字形式的地理信息以 直观的图形形式在屏幕上显示,能自动进行线段跟踪、结点 平差、线段接点裁剪与延伸,多边形拓扑结构的自动生成, 还可以消除图幅之间元的街边误差,为地学信息的综合分析 提供了一个理想的桌面式地理信息系统。所以,在将图矢量 化时应用MAPGIS软件是十分便捷的,同时综合了此软件的 基础操作和方法,能培养我们的自出探究能力和中和分析能 力。对于我们来说这是我们以后能熟练运用MAPGIS的开始,路还很长,我们需要不断的摸索、不断的钻研才能完全掌握 它。下面针对这一次的实验成果中来谈一谈如何运用MAPGIS。 二、实验过程。 栅格图像配准 装载图像 准备工作 使用纸质地图,在扫描仪中扫描为图像 打开MAPGIS“图像处理”——“图像分析”如图所示 如图 在点击图像分析模块的菜单“文件” -> “数据输入”,将其他栅 格图像(mpg,jpg ,tif 等)转换为MapGIS 的栅格图像格式( .msi ),选转换数据类型,点击“添加文

第五章 GIS的基本空间分析

练习 5 1.空间分析的基本操作 空间分析模块 (1) 1. 了解栅格数据 (2) 2. 用任意多边形剪切栅格数据(矢量数据转换为栅格数据) (4) 3. 栅格重分类(Raster Reclassify) (7) 4. 栅格计算-查询符合条件的栅格(Raster Calculator) (8) 5. 面积制表(Tabulate Area) (9) 6. 分区统计(Zonal Statistic) (11) 7. 缓冲区分析(Buffer) (13) 8. 空间关系查询 (16) 9. 采样数据的空间内插(Interpolate) (18) 10. 栅格单元统计(Cell Statistic) (21) 11. 邻域统计(Neighborhood) (23) 空间分析模块 本章的大部分练习都会用到空间分析扩展模块,要使用“空间分析模块”首先在ArcMap中执行菜单命令<工具>-<扩展>,在扩展模块管理窗口中,将“空间分析”前的检查框打上勾。然后,在ArcMap 工具栏的空白区域点右键,在出现的右键菜单中找到“空间分析”项,点击该项,在ArcMap中显示“空间分析”工具栏。

执行“空间分析”工具栏中的菜单命令<空间分析>-<选项>设定与空间分析操作有关的一些参数。这里请在常规选项中设定一个工作目录。因为在空间分析的过程种会产生一些中间结果,默认的情况下这些数据会存储在Windows 系统的临时路径下(C:\temp),当设置了工 作目录后,这些中间结果就会保存在指定的路径下。 1. 了解栅格数据 在ArcMap中,新建一个地图文档,加载栅格数据:Slope1,在TOC 中右键点击图层Slope1, 查看属性

《GIS二次开发》课程设计报告

《GIS二次开发课程设计》报告

目录 1 设计目标 (1) 2 需求分析 (1) 2.1 业务构成... .. (1) 2.2 数据内容... .. (1) 3 系统设计 (1) 3.1 总体设计 (1) 3.2 数据库设计 (2) 3.3 平台选择 (2) 3.4 详细设计 (2) 4 功能实现 (3) 4.1 基本功能 (3) 4.2 符号化 (3) 小结 ............................ 错误!未定义书签。

1 设计目标 通过本系统的实施,建立全国各省人口分布和人均GDP排名系统,通过各种地图符号和色彩信息,将地图数据符号化,借此来制作全国各省人口比重、贫富差距大小等专题图。 2 需求分析 2.1 业务构成 中国人口在世界各国中位居首位,约占世界总人口的19%,根据2015年1月20日国家统计局网站公布2014年中国经济数据,2014年末,中国大陆总人口达136782万人,比上年末增加710万人。其中,男性人口70079万人,女性人口66703万人,男性人口比女性多3376万人。中国是人口大国,因此中国的人口分布情况和人口管理显得至关重要。 随着经济的发展,中国的经济状况日益增强。但是整体而言贫富差距还是很大,所以将地图数据符号化来更好地分析各地区的人均GDP对国家掌控各地经济情况是十分有用的。 2.2 数据内容 数据主要包括全国各省的人口数量、总的GDP和人均GDP。通过这些数据来处理地图,将地图做成不同属性的专题图。 3 系统设计 3.1 总体设计 此次设计的初衷即是开发一个可以制作专题地图的系统。以全国

人口数量和全国各省人均GDP为例进行制作和开发。 第一步就是找全国省区底图;接着找所需数据(全国各省人口数量和全国各省人均GDP。)最后,通过VS设计系统,实现专题图制作功能。 3.2 数据库设计 刚开始是想将找到的数据以表格的形式导入arccatalog中,希望经过处理可以直接使用,但是做到最后发现并不能将表格直接导入底图。解决办法是在arcmap中编辑底图的属性表将找到的数据输入,保存。 还有就是在用VS系统开发时的登录界面时,用到sqlserver。 在sqlserver中创建数据库,在已创建的数据库中创建表格,表格中输入“用户名”和“密码”相关信息。 3.3 平台选择 系统开发平台:VS2010和arcengine。 3.4 详细设计 1、首先设计登录界面:登录界面加入所需控件。

gis毕业实习报告

gis毕业实习报告 篇一:GIS实习报告 一、实习目的 地理信息系统是近年来迅速发展的一门学科,并且广泛运用到各方面,所以作为该专业的我们具有实践应用能力是很重要的,毕业实习是对我们四年来所学课程及实践应用能力的一个整体检验。通过实习,要求我们对目前社会或企业的前沿知识或技术有所了解,明确在未来工作中的学习方向,并且从中找到自己的差距和不足,同时自己的能力和软件应用水平在实践中也会得到全面提高。要求学生能将所学的地理信息系统的基本理论、基础知识与基本技能应用到信息化建设中。 主要任务,熟练运用所学的MAPGIS软件完成相关数据的编辑处理。将所学的知识应用于实践中,协助完成所在单位的不稳定耕地数据库建设工作。通过一个半月实习加深和巩固所学基本知识和基本技能,积累一定的社会工作能力,学会如何为人处事,如何提升自己和实现自我价值。 二、实习单位简介 实习单位是广西第一测绘院。广西第一测绘院是广西测绘局直属的事业性测绘单位,是国家测绘局首批授予的甲级

测绘资格单位,是ISO9001:XX国际质量管理体系认证单位。改革开放三十年来,形成“以项目为依托,产学研一体化”的指导思想,坚 持以人为本,夯实基础,努力构建科学发展、和谐发展的工作环境,现已发展壮大成为广西规模最大,实力最强、设备精良、快速反应的综合性测绘队伍。多年来,广西第一测绘院一直秉承“科技兴测”发展战略,不断加大研发力度,有六个科技开发项目获自治区(省)人民政府科学技术进步奖,其中一等奖1个,二等奖3个,三等奖2个。3个项目获国家测绘局科技进步三等奖,5个项目获中国测绘学会全国优秀工程铜奖。有二个科技开发项目拥有自主知识产权,于XX 年被国家人事部、国家测绘局授予“全国测绘系统先进集体”荣誉称号,于XX年被广西区政府授予“广西第二次土地调查先进集体”“广西双保工作先进集体”荣誉称号。 三、实习内容 在单位实习的时间里,我从事的是不稳定耕地数据库建设工作,主要负责数据的初步处理工作,包括数据格式转换,地图定位,采集耕地点,检查耕地点是否有漏画、多画、多加点、少加点等,检查微短线,拓扑构面等工作,采用的软件是MAPGIS。这个项目要求我们在掌握一定的MAPGIS的相关专业知识上,细心、耐心、认真有责任心有毅力的进行工

gis综合实验报告

gis综合实验报告 篇一:GIS综合实验报告 安徽理工大学地理信息系统 实验报告书姓名: 班级 学号: 指导教师:XX年11月目录前言-------------------------------------------------3 实验一:几何校正 -------------------------------------4 (1)实验目的 (2)实验原理 (3)实验内容与步骤 实验二:数据库设计基本流程---------------------------9 (1)实验目的 (2)实验原理 (3)实验内容与步骤 实验三:空间分析-------------------------------------12 (1)实验目的

(2)实验原理 (3)实验内容与步骤 实验四:地图制图-------------------------------------20 (1)实验目的 (2)实验原理 (3)实验内容与步骤 总结------------------------------------------------25 前言通过对《地理信息系统教程》的学习,掌握地理信息系统的基本概念、空间数据的建立、 采集、处理与存储组织、gis空间分析的原理方法、地图可视化等内容,并了解常用gis软 件的操作,为后续其它gis课程的学习打下基础。本实验课程要求掌握:arccatalog的基本操作、arcmap地图可视化、空间分析等操作。 强化对课本知识的掌握,并不断学习运用到以后的生活中去。实验一:几何校正 一、实验目的 利用影像配准工具进行影像数据的地理配准,熟悉编辑器的使用,掌握如何进行几何校

GIS实验报告材料-地信

地理信息系统原理实验报告 班级: 学号: 姓名: 指导教师:

一、实验目的 1熟悉桌面GIS软件Super Map的界面环境 2初步掌握Super Map的主要工具及菜单命令的使用 3理解GIS软件应具有的基本功能 4结合对所选地图的矢量化的操作,具体掌握GIS软件的操作步骤 二、实验时间 1、第八周----第十六周进行实验绘图实体操作 2、第十七周----第十九周进行图片剪切,资料整理,总结报告 三、实验内容 ●Supermap Deskpro的认识 Supermap Deskpro是超图的专业桌面GIS软件之一。Super Map GIS桌面平台产品是基于Super Map GIS核心技术研制开发的一体化的GIS桌面软件,是Super Map GIS系列产品的重要组成部分,它界面友好、简单易用,不仅可以很轻松地完成对空间数据的浏览、编辑、查询、制图输出等操作,而且还能完成拓扑分析、三维建模、空间分析、网络分析等较高级的 GIS 功能。 SuperMap Deskpro 是一款专业桌面GIS软件,提供了地图编辑、属性数据管理、分析与辅助决策相关业务以及输出地图、打印报表、三维建模等方面的功能。SuperMap Deskpro 作为一个全面分析管理的工具,应用于土地管理、林业、电力、电信、交通、城市管网、资源管理、环境分析、旅游、水利、航空和军事等所有需要地图处理行业。 ●Supermap Deskpro的使用 通过该软件进行地图的矢量化,具体过程如下:

1、前期的准备 数据来源:纸质西安地图 地图的整体设计:遵循地图越详细越好的原则,我们对点、线、面数据集作了详细的规划,详情请看图层分层。考虑到以后做专题图,对数据集属性字段做了必要的添加,用以区分不同的地物。 本地图特色:采用Deskpro软件自带的矢量符号库符号分别作点、线、面专题图。 2、地图矢量 2.1纸质地图的扫描扫描之前对地图进行图面整理,扫描的分辨率设为 300-500dpi,扫描后得到*.jpg格式的原始栅格数据的地图 2.2创建相应的坐标系数据源启动Deskpro选择新建工作空间。 新建数据源

GIS软件应用实习报告

辽宁工程技术大学 本科生实习报告书 教学单位测绘学院 专业测绘工程 班级测绘11-2 学生姓名李xx 学号 11040xxxxx 指导教师李xxx

GIS软件应用实习 2013/2014学年第1学期 实习时间:2013.10.15-2013.10.19

一.实习时间与地点 1. 时间:2013年10月15日一10月19日; 2. 地点:校计算机实验室(玉龙主楼601)。 二.实习目的及预期 在实习前预习时了解到,我们需要通过本次实习,初步掌握地理信息系统软件MapInfo的使用,重点掌握专题地理信息系统的空间数据的入库和属性数据的入库及联接,以及根据录入的数据进行地理分析操作。本实习不仅仅是针对GIS 软件的学习,更重要的是使我们对专题信息系统的建立具有初步的直接印象,为以后专题信息系统的开发奠定基础。在实习指导教师李兰勇老师的讲解和指导下,我们每人一机,结合MapInfo软件和实验数据独立完成本次实习的全部内容。三.实习内容与成果 3.1 MapInfo软件的介绍与安装 3.1.1 MapInfo概述 GIS出现20多年,成为比较成熟的技术。80年代以来,商品软件如Arc/Info、MGE(Intergraph)等GIS走出实验室进入实用。用户中有大量的对数据可视化,地理分析等方面的需求,但传统GIS产品的价格高,专业性强,应用平台高,界面复杂,普通用户难以完成开发。而MapInfo结合数据库与电子地图,适合PC 机运行,易于使用和二次开发,是一种桌面地图信息系统。MapInfo总部在美国,遍及58个国家,有6种语言的版本,应用于市政管理,市场策划与规划,土地与自然管理,交通运输,保险服务,通讯业务,治安,教育,经济,银行等。Microsoft 与MapInfo协议,Office组件及Excel中融入基本的桌面地理信息功能。95年北京成立MapInfo中国有限公司,在上海,广州,成都等地设立分公司。 3.1.2 MapInfo总体介绍 85%以上的数据具有地理信息,而表格式和文字式的数据表达形式不能把大量的信息清晰地表现在人们面前,如将各种数据放在地图上表示出来,辅以地理分析,可使它们之间的关系趋势一目了然。通过熟练运用MapInfo工具软件,我们可以实现:地图输入及编辑,数据组织,数据的表达方式,地图数据的分析、表达,空间查询,空间分析,数据输出,程序开发工具MapBasic等内容。 3.1.3 MapInfo Professional 7.0安装操作步骤

GIS实验报告

《地理信息系统概论》之 空间数据采集与编辑实验报告 一、实验任务及目的 1.任务(拟解决的问题) (1)掌握地图扫描矢量化的基本原理与方法 (2)熟悉Arcmap软件的主要绘图和编辑工具 2.目的 (1)掌握地理要素转换为地理信息(地图数字化)的基本原理与方法。(2)掌握利用ArcMap进行地图数字化的主要流程及具体操作。 (3)学会根据实际应用设计采集有用的地理信息。 二、实验准备 1、软件:ARCMAP 9.3 2、硬件:装有该软件的电脑 3、数据 基于3度投影分带的1:10000标准地形图图像。

基于3度投影的1:10000地形图 4、其它资料 (预备知识) 地图 在ArcGIS中,一个地图存储了数据源的表达方式(地图,图表, 表格) 以及空间参考。在ArcMap中保存一个地图时,ArcMap将创建与数据的链接,并把这些链接与具体的表达方式保存起来。当打开一个地图时,它会检查数据链接,并且用存储的表达方式显示数据。一个保存的地图并不真正存储显示的空间数据! 地理信息的图层 ArcMap可以将多种数据类型作为数据层进行加载,诸如AutoCAD矢量数据DWG,ArcGIS的矢量数据Coverage、GeoDatabase、TIN和栅格数据GRID,ArcView 的矢量数据ShapeFile,ERDAS的栅格数据ImageFile,USDS的栅格数据DEM等。注意Coverage不能直接编辑,要编辑需要将Coverage转换成ShapeFile。 地理信息shape格式文件的图形要素类型

point、polyline、Polygon、Multipoint、MultiPatch. 三、实验方法及步骤 1.配准 (1)打开ArcMap,点菜单“View”/“Toolbars”增加Georeferncing工具条。用把需要进行纠正的1:10000标准地形图增加到ArcMap中, Georeferncing 工具条中的工具被激活。 通过读图,知道坐标的点就是公里网格的交点,从图中均匀的取几个点。 (2)首先将Georeferncing工具条的Georeferncing菜单下Auto Adjust不选择。 在Georeferncing工具条上,点击Add Control Point按钮。 分别选取图的四个角落建立控制点,输入相应的x和y值。 四个控制点输入数值之后如图:

mapgis实验三 空间分析

实验报告实验项目3:空间分析综合实验课程:_GIS软件及其应用

实验指导 空间分析综合实验 所属课程名称:GIS软件及其应用 实验属性:综合 实验学时:6 (1)指导思想 在具体工作中会遇到空间分析的问题,本实验拟解决两个实际的问题,通过问题的解决,让同学熟练掌握软件的相关功能,开阔解决问题的思路。 (2)实验目的和要求 目的和要求: 1、掌握空间分析的基本方法 2、掌握图件中相关属性的转移办法 3、掌握图件空间分析求的相关面积和影响测算方法 4、解决实际工作中容易碰到的问题 一、实验步骤 (一)矢量化房屋与湖面。 将数据文件导入新建的文件工程中,在“工程文件”列表中单击右键,选择“新建区”,使用【区编辑】|【输入弧段】工具,照着已有的房屋矢量化。完成后选择【区编辑】|【区编辑】|【输入区】,再单击各个房屋即可得到区文件,命名为“房屋”。 使用相同的办法新建一个区文件,矢量化湖泊,并且命名为“湖泊”。结果如图1. 图1

(二)将居民数、楼房号变成相应属性 在区文件“房屋”的属性中添加字段“楼房号”与“居民数”,并输入如图2的数据。其中居民数应该使用整型字段而不是双精度,因为人数不可能出现小数位,只是当时没有在意这点,好在也不影响结果。 图2 将点文件的楼房号与居民数分别输入到区文件“房屋”的相应字段中。打开【库管理】|【属性库管理】,在菜单栏中点击【文件】|【装区文件】,将“房屋”打开,选择【属性】|【编辑单个属性】|【编辑单个区属性】,在弹出的对话框中一个个输入对应值。如图3. 输入完成后最终结果如图4. 图3 图4 输入属性这个步骤,本来应该使用属性表连接的方式比较快,不过在这个实验中,两个点文件本身都没有自带的相应属性,所以用不成。如果两个点文件自带属性,那么属性表连接具体步骤如下:打开点文件,点击【属性】|【属性输出】,选择 id、居民点、楼房号属性。输出类型为默认的mapgis表格(*.wb),输出文件则 自己设置,再打开需要连接这两种属性的区文件“房屋”,点击【属性】|【属性 连接】,在弹出的对话框,“连接文件”选择区文件“房屋”,“被连文件”则选择刚刚的表格文件,根据字段连接,在“连入字段”框框中选择需要的字段,确定即可。如下图。

GIS课程设计实习报告

GIS课程设计实习 报告

GIS 课 程设计报告 院 、系、部 城市建设系 专 业 测绘工程 姓 名 杨波 学 号 0802601-20 指导教师 龙岳红 吴德华

07 月 01日 目录 一、课程设计时间 (3) 二、课程设计地点 ....................................................... 错误!未定义书签。 三、课程设计目的 ....................................................... 错误!未定义书签。 四、课程设计具体内容 ............................................... 错误!未定义书签。 1、(任务一)地图矢量化 .................................... 错误!未定义书签。 2、(任务一)市级行政区划图制作 .................... 错误!未定义书签。 3、(任务四)市区择房分析 ................................ 错误!未定义书签。 4、(任务五)数据转换及3D数据集成 .............. 错误!未定义书签。 五、课程设计心得体会 ................................................ 错误!未定义书签。参考文献........................................................................ 错误!未定义书签。

GIS应用实习报告

GIS应用实习报告 院、系、部 专业 姓名 学号 指导教师 2011年 07月03日

一、实习时间: 2011年上期17-18周,周一至周五。 二、实习地点: 三、实习目的: 目的:通过ArcGIS9.2的使用,让学生参与到地理数据采集、编辑、管理和分析整个流程的各个环节,对地理信息系统主要功能有个全面深刻的了解,并通过一些实际的数据和任务(如电子地图数据生产,选址分析、道路拓宽分析等常见的GIS实际应用问题)设定,培养学生根据实际问题,选取合适的空间分析手段和方法,制定详细的解决方案,解决实际的问题的能力,培养严肃认真、积极思考的优良作风;使学生尽早接触GIS的应用,真正理解GIS的意义所在,为后续的专业课程打下必要的良好的理论和技能基础。同时ArcGIS9.2是目前功能最全面最为强大的商用GIS专业软件,ArcGIS9.2的良好掌握,也为以后解决实际的问题提供了很好技能基础。 要求: 1、按实习任务制定合理可行的工作计划。 2、进行必要的资料收集、文献阅读等准备工作。 3、制定适当的技术方案。 4、独立完成课程设计各个阶段的任务。 5、对课程设计进行总结,撰写课程设计报告书。 四、实习具体内容 1.地图矢量化 (1)内容: 1)相关概念:地图矢量化的概念,地图矢量化是重要的地理数据获取方式之一。所谓地图矢量化,就是把栅格数据转换成矢量数据的处理过程。当纸质地图经过计算机图形、图像系统光—电转换量化为点阵数字图像,经图像处理和曲线矢量化,或者直接进行手扶跟踪数字化后,生成可以为地理信息系统显示、修改、标注、漫游、计算、管理和打印的矢量地图数据文件,这种与纸质地图相对应的计算机数据文件称为矢量化电子地图;2)实习目的:熟悉地图屏幕跟踪数字化流

GIS应用与课程设计实验报告

GIS应用与课程设计 实 验 报 告 姓名: 学号:2013113130 班级: 教师:李权国 2015年7月

实验一GIS支持下的建设项目环境管理与分析 一、实验目的: 通过实际操作,作图分割,学会利用supermap对实际问题进行分析处理,达到学以致用的目的。 二、时间:2015年7月13日-7月15日 三、地点:N5-409 四、过程及内容 1.编制专题地图: (1)开发区功能区图,显示出各功能区的面积、允许排污负荷量(要求有图例); ①打开SuperMap软件,新建数据源命名;新建五个面和五个文本数据集添加到图层。 ②根据题目所给的功能区坐标,绘制图形,点击图形出现“属性”对话框,依次根据所给坐标在空间信息内进行修改,如图:

③将修改好坐标的图形进行整窗显示,在“属性”框中的“文本属性”中可以得到各个功能区的面积,在各功能区上添加文本上色,得到开发区功能区图。 (2)建设项目图,显示建设项目及其与开发区各功能区的空间位置关系。 ①按照以上步骤,绘制出项目一和项目二的图形,选择对象进行分割,得出各项目与功能区的关系。

的需要修改比例尺如下图: 区各功能区的空间位置关系图如下:

2.输出统计表: (1)建设项目使用开发区各功能土地面积统计表;

(2)建设项目在开发区各功能区的排污负荷量统计 3.建设项目可行性分析: ①分析: 由于功能区A的允许排污量为8t,功能区C的允许排污量为180t,功能区D的允许排污量为32t, 功能区E的允许排污量为420t。而由“建设项目在开发区各功能区的排污负荷量统计表”可知,项目一和项目二在D功能区的排放量为38.25t>32t,所以不可行。 ②修改方案: 由于要在在地理坐标移动最小的前提下进行修改移动,因此最佳方案是移动项目二。由于功能区D的允许排污量为32t,而项目一已排入6.25t,因此项目二最多只能在功能区D中排入32-6.25=25.75t 污染物;由于项目二的设计排污量负荷为8t/km2 ,因此项目二在D 功能区所占面积最大为25.75÷8=3.21875km2,即比原来要减少0.78125km2,由此再进行计算可得,只要将项目二的坐标整体向上移动0.2663275个单位即可,得到移动后的坐标(4,6.2663275)(8,6.2663275)(8,2.2663275)(4,6.2663275) 修改前后的项目二位置对比如图:

实验4-1 GIS空间分析(空间分析基本操作)

实验4-1、空间分析基本操作 一、实验目的 1. 了解基于矢量数据和栅格数据基本空间分析的原理和操作。 2. 掌握矢量数据与栅格数据间的相互转换、 栅格重分类(Raster Reclassify)、 栅格计算-查询符合条件的栅格(Raster Calculator)、 面积制表(Tabulate Area)、 分区统计(Zonal Statistic)、 缓冲区分析(Buffer) 、采样数据的空间内插(Interpolate)、 栅格单元统计(Cell Statistic)、 邻域统计(Neighborhood)等空间分析基本操作和用途。 3. 为选择合适的空间分析工具求解复杂的实际问题打下基础。 二、实验准备 预备知识: 空间数据及其表达 空间数据(也称地理数据)是地理信息系统的一个主要组成部分 。空间数据是指以地球表面空间位置为参照的自然、社会和人文经济景观数据,可以是图形、图像、文字、表格和数字等。它是GIS 所表达的现实世界经过模型抽象后的内容,一般通过扫描仪、键盘、光盘或其它通讯系统输入GIS。 在某一尺度下,可以用点、线、面、体来表示各类地理空间要素。有两种基本方法来表示空间数据:一是栅格表达; 一是矢量表达。两种数据格式间可以进行转换。 空间分析 空间分析是基于地理对象的位置和形态的空间数据的分析技术,其目的在于提取空间信息或者从现有的数据派生出新的数据,是将空间数据转变为信息的过程。 空间分析是地理信息系统的主要特征。空间分析能力(特别是对空间隐含信息的提取和传输能力)是地理信息系统区别与一般信息系统的主要方面,也是评价一个地理信息系统的主要指标。 空间分析赖以进行的基础是地理空间数据库。空间分析运用的手段包括各种几何的逻辑运算、数理统计分析,代数运算等数学手段。空间分析可以基于矢量数据或栅格数据进行,具体是情况要根据实际需要确定。 空间分析步骤 根据要进行的空间分析类型的不同, 空间分析的步骤会有所不同。通常,所有 的空间分析都涉及以下的基本步骤,具体 在某个分析中,可以作相应的变化。 空间分析的基本步骤: a) 确定问题并建立分析的目标和要满足 的条件 b) 针对空间问题选择合适的分析工具 c) 准备空间操作中要用到的数据。 d) 定制一个分析计划然后执行分析操作。 e) 显示并评价分析结果

GIS专业毕业实习报告

GIS专业毕业实习报告 一、实习目的及任务 (3) 1.1实习目的 (3) 1.2实习任务要求 (4) 二、实习单位及岗位简介 (4) 2.1实习单位简介 (4) 2.2实习岗位简介(概况) (5) 三、实习内容(过程) (5) 3.1举行计算科学与技术专业岗位上岗培训。 (5) 3.2适应地理信息系统专业岗位工作。 (5) 3.3学习岗位所需的知识。 (6) 四、实习心得体会 (6) 4.1人生角色的转变 (6) 4.2虚心请教,不断学习。 (7) 4.3摆着心态,快乐工作 (7) 五、实习总结 (8) 5.1打好基础是关键 (8) 5.2实习中积累经验 (8) 5.3专业知识掌握的不够全面。 (8) 5.4专业实践阅历远不够丰富。 (8) 本文共计5000字,是一篇各专业通用的毕业实习报告范文,属于作者原创,绝非简单复制粘贴。欢迎同学们下载,助你毕业一臂之力。

前言 随着社会的快速发展,用人单位对大学生的要求越来越高,对于即将毕业的地理信息系统专业在校生而言,为了能更好的适应严峻的就业形势,毕业后能够尽快的融入到社会,同时能够为自己步入社会打下坚实的基础,毕业实习是必不可少的阶段。毕业实习能够使我们在实践中了解社会,让我们学到了很多在地理信息系统专业课堂上根本就学不到的知识,受益匪浅,也打开了视野,增长了见识,使我认识到将所学的知识具体应用到工作中去,为以后进一步走向社会打下坚实的基础,只有在实习期间尽快调整好自己的学习方式,适应社会,才能被这个社会所接纳,进而生存发展。 刚进入实习单位的时候我有些担心,在大学学习地理信息系统专业知识与实习岗位所需的知识有些脱节,但在经历了几天的适应过程之后,我慢慢调整观念,正确认识了实习单位和个人的岗位以及发展方向。我相信只要我们立足于现实,改变和调整看问题的角度,锐意进取,在成才的道路上不断攀登,有朝一日,那些成才的机遇就会纷至沓来,促使我们成为地理信息系统专业公认的人才。我坚信“实践是检验真理的唯一标准”,只有把从书本上学到的地理信息系统专业理论知识应用于实践中,才能真正掌握这门知识。因此,我作为一名地理信息系统专业的学生,有幸参加了为期近三个月的毕业实习。 一、实习目的及任务 经过了大学四年地理信息系统专业的理论进修,使我们地理信息系统专业的基础知识有了根本掌握。我们即将离开大学校园,作为大学毕业生,

相关主题
文本预览
相关文档 最新文档