PIE SDK 坐标系创建、定义、对比
1. 坐标系创建
1.1 从WKT字符串导入空间参考
ISpatialReference接口是一个任何空间参考对象都实现的接口,它包含了所有空间参考对象都公有的方法和属性,如获得空间参考对象的Domain、Name、ExportToWkt等方法和属性等。
下面对从WKT字符串导入空间参考的方法进行介绍。
ImportFromWkt方法
函数原型:
bool ImportFromWkt(String strWkT);
函数说明:
该方法用于从WKT字符串导入空间参考,参数为该WKT字符串。
参数说明:
名称 |
说明 |
strWkT |
目标WKT字符串 |
返回值 |
导入成功时为true,否则为false |
项目路径 |
百度云盘地址下/PIE示例程序/05.坐标转换/SpatialReference. SpatialReference |
视频路径 |
百度云盘地址下/PIE视频教程/05.坐标转换/坐标系创建、定义、对比avi |
示例代码 |
|
string str_BJ54 = "GEOGCS[\"GCS_Beijing_1954\",DATUM[\"D_Beijing_1954\",SPHEROID [\"Krasovsky_1940\",6378245,298.3]],PRIMEM[\"Greenwich\",0],UNIT[\"Degree\", 0.017453292519943295]]"; ISpatialReference spatialReference1 = new GeographicCoordinateSystem(); spatialReference1.ImportFromWkt(str_BJ54); |
1.2 从EPSG编码创建空间参考
SpatialReferenceFactory类是一个空间参考工厂。下面对从EPSG编码创建空间参考的方法进行介绍。
CreateSpatialReference方法
函数原型:
ISpatialReference CreateSpatialReference ( int code );
函数说明:
从EPSG编码创建空间参考。
参数说明:
名称 |
说明 |
code |
EPSG编码 |
返回值 |
空间参考 |
示例代码 |
//从EPSG编码创建空间参考 ISpatialReference spatialReference_BJ54 = SpatialReferenceFactory.CreateSpatialReference((int)GeoCSType.GeoCSType_WGS1984); |
2. 坐标系定义
Geometry类是所有几何形体对象的父类,它是一个抽象类,IGeometry接口定义了所有的几何对象都有的方法和属性。
下面介绍坐标系定义的主要接口。
SpatialReference属性
获取或设置空间参考。
示例代码 |
1 // 定义点 3 IPoint point = new PIE.Geometry.Point(); 5 point.PutCoords(104, 45, 0.0); 6 9 // 设置空间参考 11 IGeometry geo = point as IGeometry; 13 geo.SpatialReference = spatialReference1; |
3. 坐标系对比
3.1 地理坐标系
地理坐标系统,也可称为真实世界的坐标系,是确定地物在地球上位置的坐标系。
下面的代码为北京54地理坐标系的WKT字符串。
示例代码 |
string str_BJ54 = "GEOGCS[\"GCS_Beijing_1954\",DATUM[\"D_Beijing_1954\",SPHEROID [\"Krasovsky_1940\",6378245,298.3]],PRIMEM[\"Greenwich\",0],UNIT[\"Degree\", 0.017453292519943295]]"; |
3.2 投影坐标系
投影坐标系统是将三维地理坐标系统上的经纬网投影到二维平面地图上使用的坐标系统。
下面的代码为北京54(18度带)投影坐标系的WKT字符串。
示例代码 |
string str_BJ54_18 = "PROJCS[\"Beijing_1954_GK_Zone_18\",GEOGCS[\"GCS_Beijing_1954\",DATUM [\"D_Beijing_1954\",SPHEROID[\"Krasovsky_1940\",6378245,298.3]],PRIMEM [\"Greenwich\",0],UNIT[\"Degree\",0.017453292519943295]],PROJECTION [\"Transverse_Mercator\"],PARAMETER[\"False_Easting\",18500000],PARAMETER [\"False_Northing\",0],PARAMETER[\"Central_Meridian\",105],PARAMETER [\"Scale_Factor\",1],PARAMETER[\"Latitude_Of_Origin\",0],UNIT[\"Meter\",1]]"; |