PIE-SDK For C++坐标系创建、定义、对比

 

1、坐标系创建

1.1 WKT字符串导入空间参考

         ISpatialReference接口是一个任何空间参考对象都实现的接口,它包含了所有空间参考对象都公有的方法和属性,如获得空间参考对象的DomainNameExportToWkt等方法和属性等。下面对从WKT字符串导入空间参考的方法进行介绍。

            ImportFromWkt方法

函数原型:

                 bool ImportFromWkt(String strWkT);

函数说明:

该方法用于从WKT字符串导入空间参考,参数为该WKT字符串。

参数说明:

名称

说明

strWkT

目标WKT字符串

返回值

导入成功时为true,否则为false

项目路径

百度云盘地址下/PIE示例程序/SpatialReference. SpatialReference

视频路径

百度云盘地址下/PIE视频教程/坐标系创建、定义、对比avi

示例代码

QString WG84Str = "GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]]"

SysGeometry::GeographicCoordinateSystemPtr wgs84Sp = new SysGeometry::GeographicCoordinateSystem();

wgs84Sp->ImportFromWkt(WG84Str);

1.2 EPSG编码创建空间参考

           SpatialReferenceFactory类是一个空间参考工厂。

   下面对从EPSG编码创建空间参考的方法进行介绍。

            CreateSpatialReference方法

函数原型:

ISpatialReference CreateSpatialReference ( int code );

函数说明:

EPSG编码创建空间参考。

参数说明:

名称

说明

code

EPSG编码

返回值

空间参考

示例代码

//EPSG编码创建空间参考

SysGeometry::SpatialReferencePtr wgs84Sp = SysGeometry::SpatialReferenceFactory::CreateProjection((int)SysGeometry::GeoCSType_WGS1984);

2、坐标系定义

         Geometry类是所有几何形体对象的父类,定义了所有的几何对象都有的方法和属性。

          SpatialReference属性

获取或设置空间参考。

示例代码

QString WG84 = "GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]]";

SysGeometry::SpatialReferencePtr wgs = SysGeometry::SpatialReferenceFactory::CreateSpatialReference(WG84);    

SysGeometry::PointPtr ptr_Point = new SysGeometry::Point();

ptr_Point ->SetSpatialReference(wgs);

ptr_Point ->SetX(116.40);

ptr_Point ->SetY(39.90);

3. 坐标系对比

 3.1 地理坐标系

    地理坐标系统,也可称为真实世界的坐标系,是确定地物在地球上位置的坐标系。

    下面的代码为WGS84地理坐标系的WKT字符串。

示例代码

QString WG84 = "GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]]";

 3.2 投影坐标系

    投影坐标系统是将三维地理坐标系统上的经纬网投影到二维平面地图上使用的坐标系统。

    下面的代码为FY4A标称投影坐标系的WKT字符串。

示例代码

QString NOMINAL = "PROJCS["Geostationary_Satellite",GEOGCS["GCS_unnamed ellipse",DATUM["D_unknown",SPHEROID["Unknown",6378137,298.2570248822731]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Geostationary_Satellite"],PARAMETER["central_meridian",104.7],PARAMETER["satellite_height",35785863],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["Meter",1]]";

原文地址:https://www.cnblogs.com/PIESat/p/12389744.html