




已阅读5页,还剩118页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章几何对象与空间参考,几何对象概述使用几何对象空间参考几何对象与桥接模式,国土信息工程系,5.1几何对象概述,Geometry对象用于表达要素或元素的几何形状。ArcGIS的几何对象被分为两个层次一是构成要素形状的几何图形,称为“高级几何对象”另一种是组成这些高级几何对象的构件,国土信息工程系,GEOMETRY模型图,国土信息工程系,国土信息工程系,国土信息工程系,高级几何对象包括以下类型:Point:具有X、Y坐标值,以及可选的属性,如高程(Z值),测量值(M)和ID号。Multipoint:是无序点的群集,它用于表示具有相同属性设置的同一组点。Polyline:是一个有序路径(Path)的集合,这些路径既可以是连续的,也可以是离散的。Polygon:是环(Ring)的集合,环是一种封闭的路径。Polygon可以由一个或者多个环组成,甚至环内套环,形成岛环的情况,但是内外环之间不能重叠。Envelope:是一个矩形,它用于表示要素的空间范围。它覆盖了几何对象的最小坐标和最大坐标、Z值和M值的变化范围。,国土信息工程系,几何构件:Paths,RingsandSegments用于构建polylines和polygons.Polylinescontainpathsandpolygonscontainrings.PathsandRingsaresequencesofverticesconnectedbysegments.Polyline(多义线)对象是相连或不相连的路径对象的有序集合,它可以分别是单个路径、多个不相连的路径和多个相连路径的集合。,国土信息工程系,路径是连续Segment对象的集合,除了路径的第一个和最后一个Segment外,每一个Segment的起始点都是前一个片断的终止点,即路径对象中的Segment不能出现分离的情况。路径可以是任意数目的Line、CircularArc、EllipticArc和BezierCurve的组合。一个或多个路径对象组成一个Polyline对象。,国土信息工程系,国土信息工程系,Polygon对象,Polygon(多边形)对象是一个有序环对象的集合,这些环可以是一个或者多个。多边形对象通常可以用于描述具有面积的多边形离散矢量对象。,国土信息工程系,一个几何对象的每个顶点,除了有XY坐标值外,还可以有其它可选属性,如Z值、M值和ID。IZAwareIMAwareIPointIDAware,国土信息工程系,画单个点,IPointpnt=newPointClass()asIPoint;pnt.PutCoords(100,100);IZAwarezAware=pntasIZAware;zAware.ZAware=true;pnt.Z=11.1;axMapControl1.DrawShape(pnt);,国土信息工程系,5.1.1Point与Multipoint对象,国土信息工程系,5.1.2Point对象,可参看组件对象模型图,国土信息工程系,国土信息工程系,沿线构造法,国土信息工程系,角平分线构造法,国土信息工程系,构造角度交点,国土信息工程系,构造角度距离点,国土信息工程系,构造角度偏转交点,国土信息工程系,5.1.3Multipoint对象,国土信息工程系,国土信息工程系,画两个单独的点,objectMissing=Type.Missing;IPointpP1,pP2;pP1=newPointClass();pP2=newPointClass();pP1.PutCoords(100,100);pP2.PutCoords(150,150);IPointCollectionlp;lp=newMultipointClass();lp.AddPoint(pP1,refMissing,refMissing);lp.AddPoint(pP2,refMissing,refMissing);axMapControl1.DrawShape(lpasIGeometry);,国土信息工程系,构造圆弧点,国土信息工程系,构造等长度点,国土信息工程系,构造交点,国土信息工程系,产生一个点的曲线两个切点,国土信息工程系,5.1.4包络线Envelope,国土信息工程系,几何图形的包络线,国土信息工程系,国土信息工程系,交集,国土信息工程系,并集,国土信息工程系,IEnvelope运算,objectMissing=Type.Missing;IEnvelopepenv,penv2,penv3;penv=(IEnvelope)g1.Envelope;penv2=(IEnvelope)g2.Envelope;MessageBox.Show(penv2.XMax.ToString();penv2.Intersect(penv);MessageBox.Show(penv2.XMax.ToString();,国土信息工程系,5.1.5曲线(Curve),国土信息工程系,5.1.5Segment,国土信息工程系,CircularArc,国土信息工程系,国土信息工程系,国土信息工程系,国土信息工程系,Line对象,国土信息工程系,构造线段,pLine1.FromPoint=pPoint1;pLine1.ToPoint=pPoint2;pLine2.FromPoint=pPoint2;pLine2.ToPoint=pPoint3;ISegmentCollectionpPath;pPath=newPathClass();pPath.AddSegment(pLinel);pPath.AddSegment(pLine2);,国土信息工程系,EllipticArc对象,国土信息工程系,国土信息工程系,BezierCurve对象,国土信息工程系,国土信息工程系,产生BezierCurve曲线,DimpBezierAsIBezierCurvepBezier=NewBezierCurveClass()DimpPointAsIPointpPoint=NewPointClass()pPoint.PutCoords(20,30)pBezier.PutCoord(2,pPoint),国土信息工程系,5.1.6路径(Path)对象,国土信息工程系,产生Path,pLine1.FromPoint=pPoint1;pLine1.ToPoint=pPoint2;pLine2.FromPoint=pPoint2;pLine2.ToPoint=pPoint3;ISegmentCollectionpPath;pPath=newPathClass();pPath.AddSegment(pLinel);pPath.AddSegment(pLine2);,国土信息工程系,国土信息工程系,5.1.7环(Ring)对象,国土信息工程系,环的几个重要属性,国土信息工程系,产生环(Ring)对象,ISegmentCollectionpSegments;ILinepLine;IRingpRing;/产生一个段然后加入段集合pSegments=newRingClass();pLine=newLineClass();pLine.PutCoords(pPoint1,pPoint2);objectMissing=Type.Missing;objectval=1;pSegments.AddSegment(pLineasISegment,refMissing,refval);pLine=newLineClass();pLine.PutCoords(pPoint2,pPoint3);pSegments.AddSegment(pLineasISegment,refMissing,refval);pRing=pSegmentsasIRing;pRing.Close();/环封闭,国土信息工程系,5.1.8PolyCurve对象,国土信息工程系,5.1.9Polyline对象,国土信息工程系,/产生构造线段的点IPointpPoint1;IPointpPoint2;pPoint1=newPointClass();pPoint1.PutCoords(100,20);pPoint2=newPointClass();pPoint2.PutCoords(20,310);IGeometryCollectionpPolyline;pPolyline=newPolylineClass();ISegmentCollectionpPath;pPath=newPathClass();/产生线段对象将其添加到段ILinepLine;objectMissing1=Type.Missing;objectMissing2=Type.Missing;pLine=newLineClass();pLine.PutCoords(pPoint1,pPoint2);pPath.AddSegment(pLineasISegment,refMissing,refMissing2);将路径对象添加到多义线对象pPolyline.AddGeometry(pPathasIGeometry,refMissing,refMissing2);,国土信息工程系,5.1.10Polygon对象,国土信息工程系,国土信息工程系,国土信息工程系,使用段来构造多边形,/产生一个环,向其添加段对象ISegmentCollectionpSegCol;pSegCol=newRingClass();objectMissing1=Type.Missing;objectMissing2=Type.Missing;pSegCol.AddSegment(pSegmentA,refMissing1,refMissing2);pSegCol.AddSegment(pSegmentB,refMissing1,refMissing2/封闭环对象,使其有效IRingpRing;pRing=pSegColasIRing;pRing.Close();/使用用环来构造多边形IGeometryCollectionpPolygon;pPolygon=newPolygonClass();pPolygon.AddGeometry(pRing,refMissing1,refMissing2);,国土信息工程系,5.1.11Multipatch,MultipatchMultipatch用于描述3D面状几何类型,由一系列的矢量三角形构成,如果其中的part是一个ring,那么它必须是封闭的,第一个节点和最后一个节点相同,另外每个part所包含节点的顺序非常重要,InnerRings在OuterRings之后,代表单个表面patch的一系列rings必须由第一个ring开始。,国土信息工程系,国土信息工程系,国土信息工程系,Trianglestrip,国土信息工程系,TrangleFan,国土信息工程系,Triangle,国土信息工程系,5.12Geomtry集合,国土信息工程系,5.12.1IGeomtryCollection,国土信息工程系,5.12.2ISegmentCollection,国土信息工程系,5.12.2IPointCollection,国土信息工程系,5.1.13几何对象小结,国土信息工程系,5.2使用几何对象,国土信息工程系,5.2.1Workingwiththegeometryenvironment,TheGeometryEnvironmentobjectisasingletonobject,socallingnewseveraltimesdoesnotcreateanewobjecteachtime.Instead,itreturnsareferencetotheexistingGeometryEnvironment.GeometryEnvironmentprovidesawayofcreatinggeometriesfromdifferentinputsandsettingorgettingglobalvariablesforcontrollingthebehaviorofgeometrymethods.ItalsoprovidesJavaand.NETfriendlyversionsofmethodsoriginallydefinedonothergeometryobjects(seetheIGeometryBridgeandIGeometryBridge2interfaces).See“UsingIGeometryBridgeorIGeometryBridge2”,国土信息工程系,5.2.2Createamultipoint,BuildingamultipointusingpointsThefollowingcodeshowshowtobuildamultipointusingacollectionofpoints.Thisapproachispreferredwhentheuserhasasequenceofverticesasinput.CreatingamultipointusingexistinggeometriesAmultipointcanbecreatedbasedonexistinggeometries.Inthefollowingcode,amultipointisgeneratedbybufferinganexistingpolylineandgettingtheverticesoftheresultpolygon:,国土信息工程系,Buildingamultipointusingpoints,publicvoidSetWKSPoints()intlength=10;WKSPointpointArray=newWKSPointlength;for(inti=0;ilength;i+)pointArrayi=newWKSPoint();pointArrayi.X=i*10;pointArrayi.Y=i*10;IPointCollection4pointCollection=newMultipointClass();/addpointstopointCollectionIGeometryBridge2geometryBridge=newGeometryEnvironmentClass();geometryBridge.AddWKSPoints(pointCollection,refpointArray);,国土信息工程系,Creatingamultipointusingexistinggeometries,publicvoidCreateMultipointFromExistingGeometry(IPolylinepPoly)ITopologicalOperator2pTopoOp2=pPolyasITopologicalOperator2;pTopoOp2.IsKnownSimple_2=false;pTopoOp2.Simplify();IPolygonpBufferedPoly=pTopoOp2.Buffer(5)asIPolygon;IPointCollectionpPointCollPoly=pBufferedPolyasIPointCollection;IGeometrypMultipoint=newMultipointClass();pMultipoint.SpatialReference=pPoly.SpatialReference;IPointCollectionpPointCollMultipoint=pMultipointasIPointCollection;pPointCollMultipoint.AddPointCollection(pPointCollPoly);,国土信息工程系,5.2.3Createapolyline,BuildingapolylineusingpointsBuildingapolylineusingsegmentsCreatingapolylineusingexistinggeometries,国土信息工程系,Buildingapolylineusingpoints,publicvoidCreatePolylineByPoints()intlength=10;WKSPointpointArray=newWKSPointlength;for(inti=0;ilength;i+)pointArrayi=newWKSPoint();pointArrayi.X=i*10;pointArrayi.Y=i*10;IPointCollection4pointCollection=newPolylineClass();IGeometryBridge2geometryBridge=newGeometryEnvironmentClass();geometryBridge.SetWKSPoints(pointCollection,refpointArray);,国土信息工程系,Buildingapolylineusingsegments,publicvoidCreatePolylineBySegments()IPolylinepSegPoly=newPolylineClass();ICircularArccArc=newCircularArcClass();IBezierCurvebCur=newBezierCurveClass();ILineline=newLineClass();ISegmentCollectionpath1=newPathClass();ISegmentCollectionpath2=newPathClass();objectobj=Type.Missing;path1.AddSegment(cArcasISegment,refobj,refobj);path2.AddSegment(bCurasISegment,refobj,refobj);path2.AddSegment(lineasISegment,refobj,refobj);IGeometryCollectionpGeoColl=pSegPolyasIGeometryCollection;pGeoColl.AddGeometry(path1asIGeometry,refobj,refobj);pGeoColl.AddGeometry(path2asIGeometry,refobj,refobj);,国土信息工程系,IPointpPnt=newPointClass();pPnt.X=-10;pPnt.Y=0;cArc.PutCoordsByAngle(pPnt,0,3.14159265358979,10.0);IPointpntArray=newIPoint4;for(inti=0;i=4;i+)pntArrayi=newPointClass();pntArray0.X=10;pntArray0.Y=0;pntArray1.X=10;pntArray1.Y=10;pntArray2.X=20;pntArray2.Y=10;pntArray3.X=20;pntArray3.Y=0;bCur.PutCoords(4,refpntArray0);line.FromPoint.PutCoords(20,0);line.ToPoint.PutCoords(30,0);pGeoColl.GeometriesChanged();,国土信息工程系,Creatingapolylineusingexistinggeometries,publicvoidCreatePolylineFromExistingGeometries(IPolygonpPolygon1,IPolygonpPolygon2)/Buildanewpolylinebyintersectingtwoexistingpolygons.ITopologicalOperator2pTopoOp2=pPolygon1asITopologicalOperator2;pTopoOp2.IsKnownSimple_2=false;pTopoOp2.Simplify();IPolylinepPoly=pTopoOp2.Intersect(pPolygon2,esriGeometryDimension.esriGeometry1Dimension)asIPolyline;,国土信息工程系,4.2.4Createapolygon,BuildingapolygonusingpointsBuildingapolygonusingsegmentsCreatingapolygonusingexistinggeometries,国土信息工程系,Buildingapolygonusingpoints,publicvoidCreatePolygonByPoints()intlength=10;WKSPointpointArray=newWKSPointlength;for(inti=0;ilength;i+)pointArrayi=newWKSPoint();pointArrayi.X=i*10;pointArrayi.Y=i*10;IGeometryBridge2pGeoBrg=newGeometryEnvironmentClass();IPointCollection4pPointColl=newPolygonClass();/addpointstopointCollectionpGeoBrg.SetWKSPoints(pPointColl,refpointArray);,国土信息工程系,Buildingapolygonusingsegments,publicvoidCreatePolygonBySegments()IPolygonpSegPoly=newPolygonClass();ICircularArccArc=newCircularArcClass();IBezierCurvebCur=newBezierCurveClass();ISegmentCollectionring1=newRingClass();ISegmentCollectionring2=newRingClass();objectobj=Type.Missing;ring1.AddSegment(cArcasISegment,refobj,refobj);ring2.AddSegment(bCurasISegment,refobj,refobj);IGeometryCollectionpGeoColl=pSegPolyasIGeometryCollection;pGeoColl.AddGeometry(ring1asIGeometry,refobj,refobj);pGeoColl.AddGeometry(ring2asIGeometry,refobj,refobj);,国土信息工程系,IPointpPnt=newPointClass();pPnt.X=-10;pPnt.Y=0;cArc.PutCoordsByAngle(pPnt,0,2*3.14159265358979,10.0);IPointpntArray=newIPoint4;for(inti=0;i=4;i+)pntArrayi=newPointClass();pntArray0.X=10;pntArray0.Y=0;pntArray1.X=10;pntArray1.Y=10;pntArray2.X=20;pntArray2.Y=10;pntArray3.X=20;pntArray3.Y=0;bCur.PutCoords(4,refpntArray0);pGeoColl.GeometriesChanged();,国土信息工程系,Creatingapolygonusingexistinggeometries,publicvoidCreatePolygonFromExistingGeometries(IPolygonpPolygon1,IPolygonpPolygon2)ITopologicalOperator2pTopoOp2=pPolygon1asITopologicalOperator2;pTopoOp2.IsKnownSimple_2=false;pTopoOp2.Simplify();IPolygonpPoly=pTopoOp2.Union(pPolygon2)asIPolygon;,国土信息工程系,4.2.5Creatingaunionofseveralpolygons,privateIPolygonGeometryBag_Example(IFeatureClassfeatureClass)if(featureClass=null)returnnull;IGeoDatasetgeoDataset=featureClassasIGeoDataset;IGeometrygeometryBag=newGeometryBagClass();geometryBag.SpatialReference=geoDataset.SpatialReference;IFeatureCursorfeatureCursor=featureClass.Search(null,false);IGeometryCollectiongeometryCollection=geometryBagasIGeometryCollection;IFeaturecurrentFeature=featureCursor.NextFeature();,国土信息工程系,while(currentFeature!=null)objectmissing=Type.Missing;geometryCollection.AddGeometry(currentFeature.Shape,refmissing,refmissing);currentFeature=featureCursor.NextFeature();ITopologicalOperatorunionedPolygon=newPolygonClass();unionedPolygon.ConstructUnion(geometryBagasIEnumGeometry);returnunionedPolygonasIPolygon;,国土信息工程系,4.2.6Modifyaspecificvertexofapolyline,publicvoidmodifyOneVertexOfAPolyline(IPolylinepolyline)doubledr=1;doubledht=0;intlPart=0;intlVertex=0;boolbright=false;IGeometryCollectionpPolColl=polylineasIGeometryCollection;IPolylinepPol=polyline;IHitTestpHitTest=pPolCollasIHitTest;IPointquerypt=pPol.FromPoint;IPointpHit=newPointClass();pHitTest.HitTest(querypt,dr,esriGeometryHitPartType.esriGeometryPartVertex,pHit,refdht,reflPart,reflVertex,refbright);IPointCollectionpPathColl=pPolColl.get_Geometry(lPart)asIPointCollection;ITransform2DpTrans2D=pPathColl.get_Point(lVertex)asITransform2D;pTrans2D.Move(-10,0);pPathColl.UpdatePoint(lVertex,pTrans2DasIPoint);,国土信息工程系,publicboolHitTest(IPointQueryPoint,doublesearchRadius,esriGeometryHitPartTypegeometryPart,IPointhitPoint,refdoublehitDistance,refinthitPartIndex,refinthitSegmentIndex,refboolbRightSide);,国土信息工程系,ThesegmentindexreturnedhasdifferentmeaningsdependingontheesriGeometryHitPartTypeused.EsriGeometryPartVertex:returnsavertexindexEsriGeometryPartBoundary,esriGeometryPartMidpointandesriGeometryPartEndpoint:returnasegmentindexEsriGeometryPartCentroid:Alwaysreturns0forthepartindexandthesegmentindex.brightside:Indicatesiftheinputpointisontherightsideoftheinputgeometry,国土信息工程系,5.3空间参考,空间参考(SpatialReference)是GIS数据的骨骼框架,能够将我们的数据定位到相应的位置,为地图中的每一点提供准确的坐标。Geodatabase中新建一个要素数据集或一个单独的要素类都必须设置它们的空间参考,国土信息工程系,5.3.1空间参考概述,坐标是GIS数据的骨骼框架,能够将我们的数据定位到相应的位置,为地图中的每一点提供准确的坐标。ArcGIS自带了多种坐标系统,在$ArcGISHomeCoordinateSystems目录下可以看到三个文件夹,分别是GeographicCoordinateSystems、ProjectedCoordinateSystems、VerticalCoordinateSystems,中文翻译为地理坐标系、投影坐标系、垂直坐标系。,国土信息工程系,GeographicCoordinateSystems,在GeographicCoordinateSystems目录中,我们可以看到已定义的许多坐标系信息,典型的如GeographicCoordinateSystemsWorld目录下的WGS1984.prj,里面所定义的坐标参数:GEOGCSGCS_WGS_1984,DATUMD_WGS_1984,SPHEROIDWGS_1984,6378137,298.257223563,PRIMEMGreenwich,0,UNITDegree,0.017453292519943295里面描述了地理坐标系的名称、大地基准面、椭球体、起始坐标参考点、单位等。,国土信息工程系,ProjectedCoordinateSystems,在ProjectedCoordinateSystems目录中同样存在许多已定义的投影坐标系,我国大部分地图所采用的北京54和西安80坐标系的投影文件就在其中,它们均使用高斯-克吕格投影,前者使用克拉索夫斯基椭球体,后者使用国际大地测量协会推荐的IAG75地球椭球体。如Beijing19543DegreeGKCM75E.prj定义的坐标参数:PROJCSBeijing_1954_3_Degree_GK_CM_75E,GEOGCSGCS_Beijing_1954,DATUMD_Beijing_1954,SPHEROIDKrasovsky_1940,6378245.0,298.3,PRIMEMGreenwich,0.0,UNITDegree,0.0174532925199433,PROJECTIONGauss_Kruger,PARAMETERFalse_Easting,500000.0,PARAMETERFalse_Northing,0.0,PARAMETERCentral_Meridian,75.0,PARAMETERScale_Factor,1.0,PARAMETERLatitude_Of_Origin,0.0,UNITMeter,1.0,国土信息工程系,北京54和西安80是我们使用最多的坐标系,先简单介绍高斯-克吕格投影的基本知识,了解就直接跳过,我国大中比例尺地图均采用高斯-克吕格投影,其通常是按6度和3度分带投影,1:2.5万1:50万比例尺地形图采用经差6度分带,1:1万比例尺的地形图采用经差3度分带。具体分带法是:6度分带从本初子午线开始,按经差6度为一个投影带自西向东划分,全球共分60个投影带,带号分别为160;3度投影带是从东经1度30秒经线开始,按经差3度为一个投影带自西向东划分,全球共分120个投影带。为了便于地形图的测量作业,在高斯-克吕格投影带内布置了平面直角坐标系统,具体方法是,规定中央经线为X轴,赤道为Y轴,中央经线与赤道交点为坐标原点,x值在北半球为正,南半球为负,y值在中央经线以东为正,中央经线以西为负。由于我国疆域均在北半球,x值均为正值,为了避免y值出现负值,规定各投影带的坐标纵轴均西移500km,中央经线上原横坐标值由0变为500km。为了方便带间点位的区分,可以在每个点位横坐标y值的百千米位数前加上所在带号,如20带内A点的坐标可以表示为YA=20745921.8m。,国土信息工程系,Beijing19543DegreeGKCM75E.prjBeijing19543DegreeGKZone25.prjBeijing1954GKZone13.prjBeijing1954GKZone13N.prj对它们的说明分别如下:三度分带法的北京54坐标系,中央经线在东75度的分带坐标,横坐标前不加带号三度分带法的北京54坐标系,中央经线在东75度的分带坐标,横坐标前加带号六度分带法的北京54坐标系,分带号为13,横坐标前加带号六度分带法的北京54坐标系,分带号为13,横坐标前不加带号,国土信息工程系,VerticalCoordinateSystems,VerticalCoordinateSystems定义了测量海拔或深度值的原点,国土信息工程系,2000大地坐标系统简介,我国于上世纪50年代和80年代,分别建立了国家大地坐标系统1954年北京坐标系和1980西安坐标系,测制了各种比例尺地形图,为国民经济和社会发展提供了基础的测绘保障,目前市面已出版地图多以北京54坐标系和西安80坐标系。随着社会的进步,国民经济建设、国防建设和社会发展、科学研究等对国家大地坐标系提出了新的要求,迫切需要采用原点位于地球质量中心的坐标系统(以下简称地心坐标系)作为国家大地坐标系。采用地心坐标系,有利于采用现代空间技术对坐标系进行维护和快速更新,测定高精度大地控制点三维坐标,并提高测图工作效率。国务院批准自2008年7月1日启用我国的地心坐标系2000国家大地坐标系,英文名称为ChinaGeodeticCoordinateSystem2000,英文缩写为CGCS2000。,国土信息工程系,陕西省泾阳县永乐镇北洪流村为“1980西安坐标系”大地坐标的起算点大地原点。,国土信息工程系,5.3.2ArcGIS中的坐标系统,国土信息工程系,ArcGIS自带了多种坐标系统,在$ArcGISHomeCoordinateSystems目录下可以看到三个文件夹,分别是GeographicCoordinateSystems、ProjectedCoordinateSystems、VerticalCoordinateSystems,分别存储了地理坐标系、投影坐标系、垂直坐标系的定义。,国土信息工程系,GeographicCoordinateSystems,地理坐标系统是确定地物在地球上位置的坐标系。它是以经纬度为地图的存储单位的,而经纬度是角度。GEOGCSGCS_Xian_1980,DATUMD_Xian_1980,SPHEROIDXian_1980,6378140.0,298.257,PRIMEMGreenwich,0.0,UNITDegree,0.0174532925199433,国土信息工程系,ProjectedCoordinateSystems,PROJCSXian_1980_3_Degree_GK_Zone_38,GEOGCSGCS_Xian_1980,DATUMD_Xian_1980,SPHEROIDXian_1980,6378140.0,298.257,PRIMEMGreenwich,0.0,UNITDegree,0.0174532925199433,PROJECTIONGauss_Kruger,PARAMETERFalse_Easting,38500000.0,PARAMETERFalse_Northing,0.0,PARAMETERCentral_Meridian,114.0,PARAMETERScale_Factor,1.0,PARAMETERLatitude_Of_Origin,0.0,UNITMeter,1.0,国土信息工程系,Projection:Gauss_KrugerFalse_Easting:38500000.000000False_Northing:0.000000Central_Meridian:114.000000Scale_Factor:1.000000Latitude_Of_Origin:0.000000LinearUnit:Meter(1.000000)GeographicCoordinateSystem:GCS_Xian_1980AngularUnit:Degree(0.017453292519943299)PrimeMeridian:Greenwich(0.000000000000000000)Datum:D_Xian_1980Spheroid:Xian_1980SemimajorAxis:6378140.000000000000000000SemiminorAxis:6356755.288157528300000000InverseFlattening:298.257000000000010000,国土信息工程系,在CoordinateSystemsProjectedCoordinateSystemsGaussKrugerBeijing1954目录中,我们可以看到四种不同的命名方式:Beijing19543DegreeGKCM114E.prj:三度分带法的北京54坐标系,中央经线在东114度的分带坐标,横坐标前不加带号;Beijing19543DegreeGKZone38.prj:三度分带法的北京54坐标系,中央经线在东114度的分带坐标,横坐标前加带号;Beijing1954GKZone13.prj:六度分带法的北京54坐标系,分带号为13,横坐标前加带号;Beijing1954GKZone13N.prj:六度分带法的北京54坐标系,分带号为13,横坐标前不加带号。,国土信息工程系,VerticalCoordinateSystems,Averticalcoordinatesystemdefinestheoriginforheightordepthvalues.Perhapsthemostimportantpartofaverticalcoordinatesystemisitsunitofmeasure.Theunitofmeasureisalwayslinear(e.g.,internationalfeetormeters).Anotherimportantpartiswhetherthezvaluesrepresentheights(elevations)ordepths.Foreachtype,thez-axisdirectionispositiveupordown,respectively.VERTCSYellow_Sea_1985,VDATUMYellow_Sea_1985,PARAMETERVertical_Shift,0.0,PARAMETERDirection,1.0,UNITMeter,1.0,国土信息工程系,5.3usetheSpatialReferenceEnvironment,TheISpatialReferenceFactoryinterfaceprovidesmethodsthatusetheFactoryCodetogeneratepredefinedfactoryspatialreferenceobjects.Therearethreetypesoffunctionsonthisinterface:ThosethatreturnsingleobjectThosethatreturnasetofobjectsofthesametypeThosethatareusedtoimportandexportSpatialReferenceobjectstoandfromaPRJfileoraPRJstringrepresentation,国土信息工程系,privatevoidPrintPreDefinedProjections()ISpatialReferenceFactoryspatialReferenceFactory=newSpatialReferenceEnvironmentClass();ISetprojectionSet=spatialReferenceFactory.CreatePredefinedProjections();MessageBox.Show(NumberofpredefinedProjections=+projectionSet.Count);p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教育项目创业介绍
- 拆迁补偿协议书模板(国有土地)
- 车辆长途运输保险保养合同-物流范本
- 文化活动传单派发与活动赞助协议
- 培训督导经理年度工作总结
- 残疾人就业安置服务合同
- 生态旅游园区场地运营与咨询服务合同
- 现代家居产品设计委托与智能家居系统集成合同
- 特色小吃店联合经营协议
- 城市综合体地下停车场租赁协议
- 池州八中英才班数学试卷
- 老年照护培训课件
- 幕墙工程项目演练
- 大学英语(B)(1) 江苏开放大学考试资料
- 中资企业在哈萨克斯坦发展报告(2023-2024)【简本】
- 新媒体运营说课CHAPTER课件讲解
- 物业燃气安全培训课件
- 老年护理实践指南手册(试行)全汇编
- 医疗器械生产质量管理规范培训试题及答案
- 换热器设备采购合同模板合同
- 阿克苏地区国土空间规划(2021年-2035年)
评论
0/150
提交评论