校园监控设施查询系统实习进程书Word格式文档下载.docx

上传人:b****7 文档编号:22947400 上传时间:2023-02-06 格式:DOCX 页数:48 大小:1.88MB
下载 相关 举报
校园监控设施查询系统实习进程书Word格式文档下载.docx_第1页
第1页 / 共48页
校园监控设施查询系统实习进程书Word格式文档下载.docx_第2页
第2页 / 共48页
校园监控设施查询系统实习进程书Word格式文档下载.docx_第3页
第3页 / 共48页
校园监控设施查询系统实习进程书Word格式文档下载.docx_第4页
第4页 / 共48页
校园监控设施查询系统实习进程书Word格式文档下载.docx_第5页
第5页 / 共48页
点击查看更多>>
下载资源
资源描述

校园监控设施查询系统实习进程书Word格式文档下载.docx

《校园监控设施查询系统实习进程书Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《校园监控设施查询系统实习进程书Word格式文档下载.docx(48页珍藏版)》请在冰豆网上搜索。

校园监控设施查询系统实习进程书Word格式文档下载.docx

9月28日:

查漏补缺,总体优化。

二系统界面和代码

1.系统界面

图一初始界面

图二查询界面

2.文件打开功能

点击“文件”菜单,在下拉菜单中选择“打开SHP”或“打开MXD”,通过相应路径即可添加相应图层数据(默认打开文件为MXD)。

图三选择图层数据

代码:

//打开SHP文件

privatevoid打开aSHPToolStripMenuItem_Click(objectsender,EventArgse)

{

stringfilePath=string.Empty;

OpenFileDialogaddShape=newOpenFileDialog();

addShape.Filter="

AddShapeFile|*.shp"

;

addShape.Title="

AddShape"

//点击确定按钮

if(addShape.ShowDialog()==DialogResult.OK)

//构造ShapeWorkspace工厂

IWorkspaceFactoryfactory=newShapefileWorkspaceFactory();

//利用工厂建立Workspace

IFeatureWorkspacefileSpace=factory.OpenFromFile(addShape.FileName.Replace(addShape.SafeFileName,string.Empty),0)asIFeatureWorkspace;

//打开aworkspace中的一个图层(FeatureClass)

IFeatureClassfeatureClass=fileSpace.OpenFeatureClass(addShape.SafeFileName);

//建立一个Layer,并初始化

IFeatureLayerlayer=newFeatureLayer();

layer.FeatureClass=featureClass;

layer.Name=featureClass.AliasName;

//将Layer加载到Mapcontrol中

this.axMapControl1.Map.AddLayer(layer);

//刷新mapcontrol

this.axMapControl1.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeography,layer,null);

}

//打开MXD文件

privatevoid打ä

¨

°

开aMXDToolStripMenuItem_Click(objectsender,EventArgse)

OpenFileDialogopenfiledialog=newOpenFileDialog();

openfiledialog.Title="

打开地图文档;

//名称

openfiledialog.Filter="

mapdocuments(*.mxd)|*.mxd"

//过滤

openfiledialog.ShowDialog();

//显示对话框

stringfilepath=openfiledialog.FileName;

if(axMapControl1.CheckMxFile(filepath))

axMapControl1.MousePointer=esriControlsMousePointer.esriPointerArrowHourglass;

axMapControl1.LoadMxFile(filepath,0,Type.Missing);

axMapControl1.MousePointer=esriControlsMousePointer.esriPointerDefault;

else

MessageBox.Show(filepath+"

不是有效的地图文档"

);

3.图层基本操作功能

在查询界面,点击“图层操作”菜单,在下拉菜单中选择“放大”、“缩小”、“漫游”、“全图”即可进行相应操作。

图四图层基本操作

 

图五放大操作

privatevoid放大ToolStripMenuItem_Click_1(objectsender,EventArgse)

axMapControl1.MousePointer=esriControlsMousePointer.esriPointerZoomIn;

flag=2;

flg=1;

图六缩小操作

privatevoid缩小ToolStripMenuItem_Click(objectsender,EventArgse)

axMapControl1.MousePointer=esriControlsMousePointer.esriPointerZoomOut;

flag=1;

图七漫游操作

privatevoid漫游ToolStripMenuItem_Click(objectsender,EventArgse)

axMapControl1.MousePointer=esriControlsMousePointer.esriPointerPagePan;

flag=3;

图八全图操作

privatevoidaxMapControl1_OnMouseDown(objectsender,IMapControlEvents2_OnMouseDownEvente)

if(flg==1)

IEnvelopeipEnv;

if(flag==2)

ipEnv=axMapControl1.TrackRectangle();

axMapControl1.Extent=ipEnv;

elseif(flag==1)

ipEnv=axMapControl1.Extent;

ipEnv.Expand(2,2,true);

elseif(flag==3)

axMapControl1.Pan();

elseif(flg==2)

ILayerpLayer;

IFeatureLayerpFL;

IFeatureSelectionpFeatureSelection;

IEnvelopepEnv;

IGeometrypGeometry;

ISpatialFilterpSpatialFilter;

ISelectionSetpSelectionSet;

IEnumIDspEnumIDs;

IFeaturepFeature;

pEnv=newEnvelopeClass();

doubleext=0;

IEnvelopemapExt=this.axMapControl1.Extent;

intmapWidth=this.axMapControl1.Right-this.axMapControl1.Left;

ext=5*(mapExt.XMax-mapExt.XMin)/mapWidth;

pEnv.PutCoords(e.mapX-ext,e.mapY-ext,e.mapX+ext,e.mapY+ext);

pGeometry=pEnvasIGeometry;

pSpatialFilter=newSpatialFilterClass();

pSpatialFilter.Geometry=pGeometry;

pSpatialFilter.SpatialRel=esriSpatialRelEnum.esriSpatialRelIntersects;

Form4frmShowAttribute=Form4.CreateForm();

frmShowAttribute.Show();

frmShowAttribute.AttributeTreeView.Nodes.Clear();

frmShowAttribute.AttributeTreeView.ShowLines=true;

frmShowAttribute.AttributeTreeView.ShowPlusMinus=true;

TreeNoderootNode=newTreeNode();

rootNode.Text="

属性信息"

Fontfont=newFont("

黑体"

10);

rootNode.NodeFont=font;

frmShowAttribute.AttributeTreeView.Nodes.Add(rootNode);

for(inti=0;

i<

this.axMapControl1.LayerCount;

i++)

try

pLayer=this.axMapControl1.get_Layer(i);

pFL=(IFeatureLayer)pLayer;

catch(Exceptione1)

continue;

if(pFL.Visible&

&

pFL.Selectable)

pFeatureSelection=pFLasIFeatureSelection;

pFeatureSelection.Clear();

pFeatureSelection.SelectFeatures(pSpatialFilter,esriSelectionResultEnum.esriSelectionResultNew,true);

pSelectionSet=pFeatureSelection.SelectionSet;

if(pSelectionSet.Count>

0)

TreeNodelayerNameNode=newTreeNode();

layerNameNode.ForeColor=Color.Green;

layerNameNode.Text="

图层名:

"

+pFL.Name;

rootNode.Nodes.Add(layerNameNode);

pEnumIDs=pSelectionSet.IDs;

longid=pEnumIDs.Next();

while(id!

=-1)

pFeature=pFL.FeatureClass.GetFeature((int)id);

for(intj=0;

j<

pFeature.Fields.FieldCount;

j++)

if(j!

=1)

TreeNodefieldInfoNode=newTreeNode();

fieldInfoNode.Text=pFeature.Fields.get_Field(j).Name+"

:

"

+pFeature.get_Value(j).ToString();

layerNameNode.Nodes.Add(fieldInfoNode);

+pFeature.Shape.GeometryType.ToString();

frmShowAttribute.AttributeTreeView.ExpandAll();

id=pEnumIDs.Next();

axMapControl1.ActiveView.Refresh();

4.点击查询功能

点击“查询”菜单,在下拉菜单中选择“点击查询”和“属性查询”即可进行相应操作。

图九点击查询和属性查询

图十点击查询实现

privatevoid点击查询ToolStripMenuItem_Click(objectsender,EventArgse)

flg=2;

图十一属性插图窗体

privatevoidcomboBoxlayer_SelectedIndexChanged(objectsender,EventArgse)

listBoxField.Items.Clear();

listBoxValue.Items.Clear();

textBoxFilter.Clear();

stringsLayerName=comboBoxLayer.Text;

AxMapControlaxMap=pMainFrm.getMapControl();

IFeatureLayerpFeatLyr=null;

IRasterLayerpRsLayer=null;

=axMap.LayerCount-1;

ILayerpLyr=axMap.get_Layer(i);

if(pLyr.Name==sLayerName)

if(pLyrisIFeatureLayer)

pFeatLyr=pLyrasIFeatureLayer;

m_pFeatCls=pFeatLyr.FeatureClass;

=m_pFeatCls.Fields.FieldCount-1;

listBoxField.Items.Add(m_pFeatCls.Fields.get_Field(j).Name);

if(j==m_pFeatCls.FindField("

Shape"

))

listBoxField.Items.RemoveAt(j);

else

pRsLayer=pLyrasIRasterLayer;

IRa

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 中国风

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1