zoukankan      html  css  js  c++  java
  • 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]]";

  • 相关阅读:
    今日小结 5.7
    今日小结 5.2
    今日小结 4.30
    今日小结 4.29
    设计模式 笔记1
    第一次找实习
    Java入门 任务表
    今日小结 4.24
    今日小结 4.18
    今日小结 4.17
  • 原文地址:https://www.cnblogs.com/PIESat/p/12389744.html
Copyright © 2011-2022 走看看