组件式GIS实验报告Word文档格式.docx

上传人:b****1 文档编号:15334842 上传时间:2022-10-29 格式:DOCX 页数:10 大小:1.94MB
下载 相关 举报
组件式GIS实验报告Word文档格式.docx_第1页
第1页 / 共10页
组件式GIS实验报告Word文档格式.docx_第2页
第2页 / 共10页
组件式GIS实验报告Word文档格式.docx_第3页
第3页 / 共10页
组件式GIS实验报告Word文档格式.docx_第4页
第4页 / 共10页
组件式GIS实验报告Word文档格式.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

组件式GIS实验报告Word文档格式.docx

《组件式GIS实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《组件式GIS实验报告Word文档格式.docx(10页珍藏版)》请在冰豆网上搜索。

组件式GIS实验报告Word文档格式.docx

2.实验02地图浏览功能设计

3.实验03量算设计

4.实验04基本查询设计

5.实验05空间查询设计

三、实验结果

结果:

在VS2010C#开发环境下建立的第一个项目,在设计窗体上添加SuperMapObjects核心控件后,整个设计环境的截图。

截图:

设计的地图浏览功能及其代码:

privatevoidForm1_Load(objectsender,EventArgse)

{

axSuperMap1.Connect(axSuperWorkspace1.CtlHandle);

StringstrSpaceFileName;

strSpaceFileName=@"

E:

\Myproject\world.smw"

;

axSuperWorkspace1.Open(strSpaceFileName,"

"

);

axSuperMap1.OpenMap("

世界地图"

}

privatevoidbuttton1_Click(objectsender,EventArgse)

this.axSuperMap1.Action=SuperMapLib.seAction.scaPan;

}

privatevoidbutton1_Click(objectsender,EventArgse)

axSuperMap1.Action=SuperMapLib.seAction.scaZoomOut;

privatevoidbutton2_Click(objectsender,EventArgse)

axSuperMap1.Action=SuperMapLib.seAction.scaZoomIn;

privatevoidbutton3_Click(objectsender,EventArgse)

axSuperMap1.Action=SuperMapLib.seAction.scaZoomFree;

privatevoidbutton4_Click(objectsender,EventArgse)

this.axSuperMap1.ViewEntire();

系统运行截图:

坐标、距离、面积、方位角等量算功能代码:

stringtemp;

privatevoidtoolStripButton1_Click(objectsender,EventArgse)

temp="

A"

this.axSuperMap1.Action=seAction.scaTrackPoint;

privatevoidtoolStripButton2_Click(objectsender,EventArgse)

B"

axSuperMap1.TrackingLayer.ClearEvents();

axSuperMap1.TrackingLayer.Refresh();

axSuperMap1.Action=SuperMapLib.seAction.scaTrackPolyline;

privatevoidtoolStripButton3_Click(objectsender,EventArgse)

C"

axSuperMap1.Action=SuperMapLib.seAction.scaTrackPolygon;

privatevoidtoolStripButton4_Click(objectsender,EventArgse)

D"

privatevoidaxSuperMap1_Tracking(objectsender,AxSuperMapLib._DSuperMapEvents_TrackingEvente)

stringstrCoordinateUnit;

strCoordinateUnit=this.axSuperWorkspace1.Datasources[1].PJCoordSys.CoordUnits.ToString();

switch(temp)

case"

:

this.toolStripStatusLabel1.Text="

x:

+Math.Round(e.x,4).ToString()+strCoordinateUnit+"

"

+"

y:

+Math.Round(e.y,4).ToString()+strCoordinateUnit;

break;

this.toolStripStatusLabel2.Text="

当前长度:

+e.dCurrentLength.ToString()+"

总长度:

+e.dTotalLength.ToString();

this.toolStripStatusLabel3.Text="

总面积:

+e.dTotalArea.ToString();

this.toolStripStatusLabel4.Text="

方位角:

+e.dCurrentAngle.ToString();

}

面积量算截图:

实验04基本查询设计

图查属性代码:

privatevoidbutton5_Click(objectsender,EventArgse)

this.axSuperMap1.Action=seAction.scaSelect;

privatevoidaxSuperMap1_GeometrySelected(objectsender,AxSuperMapLib._DSuperMapEvents_GeometrySelectedEvente)

soSelectionobjSel;

soRecordsetobjRecordset;

StringstrValue;

objSel=axSuperMap1.selection;

if(objSel.Count!

=0)

objRecordset=objSel.ToRecordset(false);

objRecordset.MoveFirst();

strValue=objRecordset.GetFieldValue("

Capital"

).ToString();

MessageBox.Show(strValue,"

属性查图代码:

privatevoidbutton6_Click(objectsender,EventArgse)

stringstrQueryTxt;

soDatasetobjDt;

soDatasetVectorobjDtv;

soRecordsetobjRd;

DoubledRatio;

dRatio=2;

objDt=this.axSuperWorkspace1.Datasources["

World"

].Datasets["

Countries"

];

objDtv=(SuperMapLib.soDatasetVector)objDt;

strQueryTxt="

Countrylike'

*"

+this.textBox1.Text+"

*'

objRd=objDtv.Query(strQueryTxt,true,null,"

this.axSuperMap1.selection.FromRecordset(objRd);

this.axSuperMap1.EnsureVisibleRecordset(objRd,dRatio);

this.axSuperMap1.Refresh();

图查属性截图:

属性查图截图:

4.实验05空间查询设计

空间查询算子

基本查询模式:

scsExtentOverlap、scsLinCross、scsContaining、scsContainedBy、scsOverlap、scsDisjoint、scsTouch、scsIdentical、scsAreaIntersect

常用查询模式:

scsCentroidInPolygon、scsCommonPoint、scsCommonLine

组合查询模式:

scsContainedByNoEdgeTouch、scsContainingNoEdgeTouch、scsContainOrOverlap、scsPointInPolygon、scsTouchNoCross、scsCommonLineOrOverlap、scsCommonPointOrLineCross、scsEdgeTouchOrAreaIntersect、scsAreaIntersectNoEdgeTouch

空间查询功能代码:

privatevoidbutton7_Click(objectsender,EventArgse)

axSuperMap1.selection.RemoveAll();

this.axSuperMap1.Action=seAction.scaTrackPolyline;

privatevoidaxSuperMap1_Tracked(objectsender,EventArgse)

soGeometryobjSearchGeo=axSuperMap1.TrackedGeometry;

if(objSearchGeo==null)

MessageBox.Show("

未获得用于搜索的对象"

"

提示"

return;

soStyleobjStyle=newsoStyleClass();

objStyle.PenColor=(uint)

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

当前位置:首页 > 幼儿教育 > 育儿理论经验

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

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