当前位置: 首页 > news >正文

酒泉网站建设成都都网站建设

酒泉网站建设,成都都网站建设,做行业网站,企业宣传网站建设class OGRSpatialReference #include ogr_spatialref.h OGRSpatialReference 是 GDAL/OGR 库中的一个重要类#xff0c;用于管理和操作地理空间数据的空间参考系统#xff08;Spatial Reference System#xff0c;SRS#xff09;。它提供了一系列功能…class OGRSpatialReference        #include ogr_spatialref.h OGRSpatialReference 是 GDAL/OGR 库中的一个重要类用于管理和操作地理空间数据的空间参考系统Spatial Reference SystemSRS。它提供了一系列功能允许用户定义、查询、解析和转换地理空间数据的坐标系统和投影信息 Public Functions IsSameGeogCS int IsSameGeogCSconst OGRSpatialReference* const  GeogCS是否匹配 参数: poOther -- 正在比较的 SRS。 返回: 如果它们相同则为 TRUE否则为 FALSE // 定义两个 WGS 84 经纬度坐标系的WKT字符串const char* wktString1 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.01745329251994328,AUTHORITY[\EPSG\,\9122\]],AUTHORITY[\EPSG\,\4326\]];const char* wktString2 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.01745329251994328,AUTHORITY[\EPSG\,\9122\]],AUTHORITY[\EPSG\,\4326\]];// 创建两个 OGRSpatialReference 对象并从WKT字符串中导入空间参考系统OGRSpatialReference srs1;srs1.importFromWkt(wktString1);OGRSpatialReference srs2;srs2.importFromWkt(wktString2);// 判断两个空间参考系统是否具有相同的地理坐标系int isSameGeogCS srs1.IsSameGeogCS(srs2);// 输出判断结果if (isSameGeogCS) {printf(两个空间参考系统具有相同的地理坐标系。\n);} else {printf(两个空间参考系统具有不同的地理坐标系。\n);} IsSameVertCS int IsSameVertCSconst OGRSpatialReference* const VertCS是否匹配 参数: poOther -- 正在比较的 SRS。 返回: 如果它们相同则为 TRUE否则为 FALSE IsSame int IsSameconst OGRSpatialReference* const  这两个空间参考描述的是同一个系统吗 参数: poOtherSRS -- 与之进行比较的 SRS。 返回: 如果等效则为 TRUE否则为 FALSE // 定义两个相同的 WGS 84 经纬度坐标系的WKT字符串const char* wktString1 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.01745329251994328,AUTHORITY[\EPSG\,\9122\]],AUTHORITY[\EPSG\,\4326\]];const char* wktString2 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.01745329251994328,AUTHORITY[\EPSG\,\9122\]],AUTHORITY[\EPSG\,\4326\]];// 创建两个 OGRSpatialReference 对象并从WKT字符串中导入空间参考系统OGRSpatialReference srs1;srs1.importFromWkt(wktString1);OGRSpatialReference srs2;srs2.importFromWkt(wktString2);// 判断两个空间参考系统是否完全相同int isSame srs1.IsSame(srs2); IsSame int IsSame(const OGRSpatialReference*, const char *const *papszOptions) const 这两个空间参考描述的是同一个系统吗 参数: poOtherSRS -- 与之进行比较的 SRS。 papszOptions -- 选项。空或空终止的选项列表 返回: 如果等效则为 TRUE否则为 FALSE Clear void Clear() 擦除当前定义 SetProjection OGRErr SetProjectionconst char*) 设置投影名称 参数: pszProjection -- 投影名称应从 ogr_srs_api.h 中的宏中选择例如 SRS_PT_TRANSVERSE_MERCATOR。 返回: OGRERR_NONE成功 // 定义一个 UTM 投影的 WKT 字符串const char* wktString PROJCS[\WGS 84 / UTM zone 18N\,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.01745329251994328,AUTHORITY[\EPSG\,\9122\]],AUTHORITY[\EPSG\,\4326\]],PROJECTION[\Transverse_Mercator\],PARAMETER[\latitude_of_origin\,0],PARAMETER[\central_meridian\,-75],PARAMETER[\scale_factor\,0.9996],PARAMETER[\false_easting\,500000],PARAMETER[\false_northing\,0],UNIT[\metre\,1,AUTHORITY[\EPSG\,\9001\]],AUTHORITY[\EPSG\,\32618\]];// 创建一个 OGRSpatialReference 对象OGRSpatialReference srs;// 设置空间参考系统的投影信息OGRErr err srs.SetProjection(wktString); SetGeocCS OGRErr SetGeocCSconst char *pszGeocName) 设置用户可见的 GEOCCS 名称 参数: pszName -- 要分配的用户可见名称。不用作密钥。 返回: OGRERR_NONE成功 // 定义一个地心坐标系的 WKT 字符串const char* wktString GEOCCS[\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[\metre\,1,AUTHORITY[\EPSG\,\9001\]],AXIS[\Geocentric X\,OTHER],AXIS[\Geocentric Y\,EAST],AXIS[\Geocentric Z\,NORTH],AUTHORITY[\EPSG\,\4984\]];// 创建一个 OGRSpatialReference 对象OGRSpatialReference srs;// 设置空间参考系统的地心坐标系名称OGRErr err srs.SetGeocCS(wktString); SetProjCS OGRErr SetProjCSconst char*) 设置用户可见的 PROJCS 名称 参数: pszName -- 要分配的用户可见名称。不用作密钥。 返回: OGRERR_NONE成功 // 定义一个墨卡托投影坐标系的 WKT 字符串const char* wktString PROJCS[\Mercator\,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.01745329251994328,AUTHORITY[\EPSG\,\9122\]],AUTHORITY[\EPSG\,\4326\]],PROJECTION[\Mercator_1SP\],PARAMETER[\central_meridian\,0],PARAMETER[\scale_factor\,1],PARAMETER[\false_easting\,0],PARAMETER[\false_northing\,0],UNIT[\metre\,1,AUTHORITY[\EPSG\,\9001\]],AXIS[\Easting\,EAST],AXIS[\Northing\,NORTH],AUTHORITY[\EPSG\,\3395\]];// 创建一个 OGRSpatialReference 对象OGRSpatialReference srs;// 设置空间参考系统的投影坐标系名称OGRErr err srs.SetProjCS(wktString); SetGeogCS OGRErr SetGeogCS(const char *pszGeogName, const char *pszDatumName, const char *pszEllipsoidName, double dfSemiMajor, double dfInvFlattening, const char *pszPMName  nullptr,  double dfPMOffset  0.0, const char *pszUnits  nullptr, double dfConvertToRadians  0.0) 设置地理坐标系 此方法用于设置地理坐标系的基准面、椭球体、本初子午线和角度单位。它可以单独用于建立地理空间参考也可以应用于投影坐标系以建立基础地理坐标系。 参数: pszGeogName -- 地理坐标系的用户可见名称不用作键。 pszDatumName -- 此基准的键名称。OpenGIS 规范列出了一些已知值否则具有标准变换的 EPSG 基准名称被视为合法键。 pszSpheroidName -- 用户可见的椭球体名称不用作键 dfSemiMajor -- 椭球体的半长轴。 dfInvFlattening -- 椭球体的反向扁平化。这可以从半短轴计算为 1/f 1.0 / 1.0 - 半小/半长。 pszPMName -- 本初子午线的名称不用作键 如果为 NULL则将使用默认值“Greenwich”。 dfPMOffset -- 格林威治相对于本初子午线的经度。始终以度为单位 pszAngularUnits -- 角度单位名称有关某些标准名称请参见 ogr_srs_api.h。如果为 NULL则将假定值为“度”。 dfConvertToRadians -- 将角度单位乘以将其转换为弧度的值。如果 pszAngularUnits 为 NULL则将使用值 SRS_UA_DEGREE_CONV。 返回:  OGRERR_NONE成功 // 创建一个 OGRSpatialReference 对象OGRSpatialReference srs;// 设置地理坐标系的属性OGRErr err srs.SetGeogCS(WGS 84, WGS_1984, WGS 84, 6378137, 298.257223563); SetWellKnownGeogCS OGRErr SetWellKnownGeogCSconst char*) 根据众所周知的名称设置 GeogCS 参数: pszName -- 已知地理坐标系的名称。 返回:  OGRERR_NONE成功时或者OGRERR_FAILURE如果无法识别名称、目标对象已初始化或无法成功查找 EPSG 值 // 创建一个 OGRSpatialReference 对象OGRSpatialReference srs;// 设置为 WGS 84 地理坐标系OGRErr err srs.SetWellKnownGeogCS(WGS84); CopyGeogCSFrom OGRErr CopyGeogCSFromconst OGRSpatialReference *poSrcSRS) 从另一个 OGRSpatialReference 复制 GEOGCS 参数: poSrcSRS -- 用于从中复制 GEOGCS 信息的空间参考。 返回: OGRERR_NONE成功或错误代码 // 定义一个源空间参考系统用于复制地理坐标系信息const char* srcWktString 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.01745329251994328,AUTHORITY[\EPSG\,\9122\]],AUTHORITY[\EPSG\,\4326\]];OGRSpatialReference srcSRS;srcSRS.importFromWkt(srcWktString);// 创建一个目标空间参考系统OGRSpatialReference dstSRS;// 复制源空间参考系统中的地理坐标系信息到目标空间参考系统OGRErr err dstSRS.CopyGeogCSFrom(srcSRS); SetCompoundCS OGRErr SetCompoundCSconst char *pszName const OGRSpatialReference *poHorizSRS const OGRSpatialReference *poVertSRS) 设置复合坐标系        此方法将当前的SRS替换为由水平和垂直坐标系组成的COMPD_CS坐标系 参数: pszName -- 复合坐标系的名称。 poHorizSRS - 水平SRSPROJCS或GEOGCS。 poVertSRS -- 垂直 SRS VERT_CS。 返回: OGRERR_NONE成功 // 创建一个 OGRSpatialReference 对象OGRSpatialReference srs;// 设置复合坐标系const char* compoundCSName WGS 84 EGM96;// 创建水平坐标系地理或投影和垂直坐标系的空间参考系统OGRSpatialReference horizSRS, vertSRS;horizSRS.SetWellKnownGeogCS(WGS84);vertSRS.importFromEPSG(5773); // EGM96 - Earth Gravitational Model 1996// 设置复合坐标系OGRErr err srs.SetCompoundCS(compoundCSName, horizSRS, vertSRS); SetCoordinateEpoch void SetCoordinateEpochdouble dfCoordinateEpoch) 将坐标纪元设置为十进制年 参数: dfCoordinateEpoch -- 将纪元坐标为十进制年例如 2021.3 // 创建一个 OGRSpatialReference 对象OGRSpatialReference srs;// 设置坐标时期为 2000.0 年double coordinateEpoch 2000.0;srs.SetCoordinateEpoch(coordinateEpoch);// 输出设置结果printf(成功设置空间参考系统的坐标时期为 %.1f 年。\n, coordinateEpoch); 空间参考系统的坐标时期为 2000.0 年。 如果坐标时期是 2000.0 年并且时间是 1998 年那么相对于坐标时期 2000.0 年时间差为 -2.0 年。 时间差的计算方式是目标时间减去坐标时期。如果目标时间晚于坐标时期时间差为正数如果目标时间早于坐标时期时间差为负数。 在这个例子中如果时间是 1998 年相对于坐标时期 2000.0 年时间差为 -2.0 年。这意味着你的空间数据中的位置信息是相对于 2000 年的如果你想要将这些位置信息转换为相对于 1998 年的位置你可以根据时间差 -2.0 年进行相应的坐标转换。这样你就可以考虑地球在这 2 年时间内的微小变化得到更精确的位置信息。 GetCoordinateEpoch double GetCoordinateEpoch const 返回: 坐标纪元 将纪元坐标为十进制年例如 2021.3如果未设置或相关则为 0 // 创建一个 OGRSpatialReference 对象OGRSpatialReference srs;// 设置坐标时期为 2000.0 年double coordinateEpoch 2000.0;srs.SetCoordinateEpoch(coordinateEpoch);// 获取坐标时期并输出结果double retrievedEpoch srs.GetCoordinateEpoch();printf(空间参考系统的坐标时期为 %.1f 年。\n, retrievedEpoch); 空间参考系统的坐标时期为 2000.0 年。
http://www.dnsts.com.cn/news/13818.html

相关文章:

  • 网站上放百度地图网页设计实训报告工作内容和步骤
  • 网站建设与维护期中试卷抖音seo推广外包公司好做吗
  • 学做点心上哪个网站网站开发安装
  • 开源做网站需要申请账号吗制作微信网站
  • 杭州下沙开发区建设局网站网站功能与内容设计的步骤
  • 怎么做58同城网站教程sem扫描电镜是测什么的
  • 设计素材网站排版做地理题的网站
  • 网站改版 理论四川餐饮培训学校排名
  • 哪一家做网站好做网站需要的手续
  • 网站开发时遇到的问题dedecms源代码生成网站全过程
  • 前端静态网站模板彩票网站建设基本流程
  • 无主体网站是什么意思专门做招商的网站
  • 西安手机商城网站建设展台设计网站都有哪些
  • 做网站开发有哪些优点呢wordpress页面瀑布流
  • 宁国市城乡与住房建设网站正在建设中网站
  • 现工作室专做网站建设等应用程序项目,但工作室名暂为网站域名不备案
  • 沙田东莞网站建设wordpress绿色两栏响应式主题
  • 外贸网站如何优化安阳后营300一次贵不贵
  • 网站建设费用会计处理网站建设与维护中国出版社
  • 蛋糕网站模板wordpress 批量修改文章分类
  • 高青云速网站建设免费做logo
  • 网站建设玖金手指谷哥十一.php是什么网站
  • 电子商务网站策划书布局设计flash网站推荐
  • 上海门户网站建设公司宝安建设工程交易服务网
  • 广东网站营销seo方案重庆市沙坪坝区
  • 银川网站建设哪家便宜创意图片
  • 帮做暑假作业网站在一个网站的各虚拟目录中默认文档的文件名要相同
  • 石家庄网站运营公司国外的网站建设
  • 上海网站建设咨询乔拓云的品牌推广方案
  • 做今网站网站开发用的是什么语言