当前位置: 首页 > 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 System,SRS)。它提供了一系列功能,允许用户定义、查询、解析和转换地理空间数据的坐标系统和投影信息

Public Functions

SetFromUserInput

OGRErr SetFromUserInputconst char*)

从各种文本格式设置空间参考

参数:

pszDefinition -- 尝试从中推断出 SRS 的文本定义。

返回:   成功时OGRERR_NONE,或者如果无法识别名称、定义已损坏或无法成功查找 EPSG 值,则为错误代码

    // 创建一个 OGRSpatialReference 对象OGRSpatialReference srs;// 定义一个字符串,包含空间参考系统的信息const char* user_input = "+proj=utm +zone=48 +datum=WGS84 +units=m +no_defs";// 使用 SetFromUserInput() 函数设置空间参考系统OGRErr result = srs.SetFromUserInput(user_input);

SetTOWGS84

OGRErr SetTOWGS84(double, double, double, double = 0.0, double = 0.0, double = 0.0, double = 0.0)

将Bursa-Wolf转换设置为 WGS84        这将创建 TOWGS84 节点作为基准面的子节点

参数:

  • dfDX -- X 子级,单位为米。

  • dfDY -- 以米为单位的 Y 孩子。

  • dfDZ -- Z 子级,单位为米。

  • dfEX -- X 以弧秒为单位旋转(可选,默认为零)。

  • dfEY -- 以弧秒为单位的 Y 旋转(可选,默认为零)。

  • dfEZ -- Z 旋转(以弧秒为单位)(可选,默认为零)。

  • dfPPM -- 比例因子(百万分之一)。

返回:  OGRERR_NONE成功

    // 创建一个 OGRSpatialReference 对象OGRSpatialReference srs;// 设置空间参考系统的转换参数到 WGS 84double dx = -84.0;double dy = -97.0;double dz = -119.0;double ex = 0.0;double ey = 0.0;double ez = 0.0;double ppm = 0.0;OGRErr result = srs.SetTOWGS84(dx, dy, dz, ex, ey, ez, ppm);

GetTOWGS84

OGRErr GetTOWGS84(double *padfCoef, int nCoeff = 7) const

获取 TOWGS84 参数(如果可用)

参数:

  • padfCoeff -- 最多放置 7 个系数的数组。

  • nCoeffCount -- padfCoeff 的大小 - 默认为 7。

返回:  成功时OGRERR_NONE,如果没有可用的 TOWGS84 节点,则OGRERR_FAILURE

    // 创建一个 OGRSpatialReference 对象OGRSpatialReference srs;// 设置空间参考系统的转换参数到 WGS 84double dx = -84.0;double dy = -97.0;double dz = -119.0;double ex = 0.0;double ey = 0.0;double ez = 0.0;double ppm = 0.0;srs.SetTOWGS84(dx, dy, dz, ex, ey, ez, ppm);// 获取空间参考系统的转换参数double transformationParams[7];OGRErr result = srs.GetTOWGS84(transformationParams, 7);

AddGuessedTOWGS84

OGRErr AddGuessedTOWGS84()

尝试将 3 参数或 7 参数 Helmert 变换添加到 WGS84

返回:  成功时OGRERR_NONE,失败时错误代码(CRS 已转换为 WGS84 或找不到匹配项)

    // 创建一个 OGRSpatialReference 对象OGRSpatialReference srs;// 定义一个字符串,包含空间参考系统的信息const char* user_input = "+proj=utm +zone=48 +datum=WGS84 +units=m +no_defs";// 使用 SetFromUserInput() 函数设置空间参考系统OGRErr result = srs.SetFromUserInput(user_input);// 检查是否设置成功if (result != OGRERR_NONE) {printf("空间参考系统设置失败!\n");return 1;}// 尝试添加转换参数OGRErr guessResult = srs.AddGuessedTOWGS84();

GetSemiMajor

double GetSemiMajor(OGRErr* = nullptr) const

获取椭球体半长轴(以米为单位,从 GDAL 3.0 开始)

   // 创建一个 OGRSpatialReference 对象OGRSpatialReference srs;// 定义一个字符串,包含空间参考系统的信息const char* user_input = "+proj=utm +zone=48 +datum=WGS84 +units=m +no_defs";// 使用 SetFromUserInput() 函数设置空间参考系统OGRErr result = srs.SetFromUserInput(user_input);// 获取椭球体的长半轴值OGRErr err;double semiMajor = srs.GetSemiMajor(&err);

GetSemiMinor

double GetSemiMinor(OGRErr* = nullptr) const

获取球体短半轴

参数:

pnErr -- 如果非 NULL 设置为 OGRERR_FAILURE 如果可以找到半短轴。

返回: 短半轴,或 WGS84 半小轴(如果找不到)

GetInvFlattening

double GetInvFlattening(OGRErr* = nullptr) const

获得球面逆平坦化

GetEccentricity

double GetEccentricity() const

返回: 偏心率(或错误时为 -1)

GetSquaredEccentricity

double GetSquaredEccentricity() const

获得椭球体平方偏心率

返回:偏心率平方(或误差时为 -1)

GetEPSGGeogCS

int GetEPSGGeogCS() const

获取此坐标系 GEOGCS 的 EPSG 代码

返回: EPSG 代码

    // 获取地理坐标系的 EPSG 代码int epsgCode = srs.GetEPSGGeogCS();
地理坐标系的 EPSG 代码为: 4326

GetAuthorityCode

const char *GetAuthorityCode(const char *pszTargetKey) const

获取节点的颁发机构代码

参数:

pszTargetKey -- 要从中获取权限的节点的部分或完整路径。即“PROJCS”、“GEOGCS”、“GEOGCS|UNIT“或 NULL 以搜索根元素上的颁发机构节点。

返回: 来自授权节点的值代码,或失败时为 NULL。返回的值是内部值,不应释放或修改

    // 获取地理坐标系的标识代码const char* authorityCode = srs.GetAuthorityCode("GEOGCS");
地理坐标系的标识代码为: EPSG:4326

 

GetAuthorityName

const char *GetAuthorityName(const char *pszTargetKey) const 

获取节点的颁发机构名称

参数:

pszTargetKey -- 要从中获取权限的节点的部分或完整路径。即“PROJCS”、“GEOGCS”、“GEOGCS|UNIT“或 NULL 以搜索根元素上的颁发机构节点。

返回: 来自授权节点的值代码,或失败时为 NULL。返回的值是内部值,不应释放或修改

GetAreaOfUse

bool GetAreaOfUse(double *pdfWestLongitudeDeg, double *pdfSouthLatitudeDeg, double *pdfEastLongitudeDeg, double *pdfNorthLatitudeDeg, const char **ppszAreaName) const

返回 CRS 的使用区域

参数:

  • pdfWestLongitudeDeg -- 指向双精度的指针,用于接收最西端的经度,以度数表示。可能为空。如果返回值为 -1000,则边界框未知。

  • pdfSouthLatitudeDeg -- 指向双精度的指针,用于接收最南端的纬度,以度数表示。可能为空。如果返回值为 -1000,则边界框未知。

  • pdfEastLongitudeDeg -- 指向双精度的指针,用于接收最东端的经度,以度数表示。可能为空。如果返回值为 -1000,则边界框未知。

  • pdfNorthLatitudeDeg -- 指向接收最北纬度的双精度的指针,以度表示。可能为空。如果返回值为 -1000,则边界框未知。

  • ppszAreaName -- 指向用于接收使用区域名称的字符串的指针。可能为空。请注意,*ppszAreaName 的生存期很短,可能会因进一步的调用而失效。

返回: 在成功的情况下为真

   // 定义变量用于接收使用范围信息double westLongitude, southLatitude, eastLongitude, northLatitude;const char* areaName;// 获取使用范围信息bool success = srs.GetAreaOfUse(&westLongitude, &southLatitude, &eastLongitude, &northLatitude, &areaName);// 检查是否获取成功if (success) {printf("使用范围信息:\n");printf("西边界经度: %.6f\n", westLongitude);printf("南边界纬度: %.6f\n", southLatitude);printf("东边界经度: %.6f\n", eastLongitude);printf("北边界纬度: %.6f\n", northLatitude);printf("使用范围名称: %s\n", areaName);} else {printf("获取使用范围信息失败!\n");}

SetProjParm

OGRErr SetProjParmconst char*, double)

设置投影参数值        在 PROJCS 下添加一个具有指示名称和值的新参数

参数:

  • pszParamName -- 参数名称,应从 ogr_srs_api.h 中的宏中选择,例如 SRS_PP_CENTRAL_MERIDIAN。

  • dfValue -- 要分配的值。

返回: OGRERR_NONE成功

   // 创建一个 OGRSpatialReference 对象OGRSpatialReference srs;// 设置投影坐标系为 Transverse Mercator 投影srs.SetUTM(48, TRUE);// 设置投影坐标系的中央经线参数值为 80.0 度OGRErr result = srs.SetProjParm("central_meridian", 80.0);

GetProjParm

double GetProjParm(const char*, double = 0.0, OGRErr* = nullptr) const

获取投影参数值

参数:

  • pszName -- 要从 ogr_srs_api.h 中的SRS_PP代码集中获取的参数的名称。

  • dfDefaultValue -- 此参数不存在时要返回的值。

  • pnErr -- 在失败时放置错误代码的位置。如果为 NULL,则忽略。

返回: 参数的值

SetNormProjParm

OGRErr SetNormProjParmconst char*, double)

使用归一化值设置投影参数

参数:

  • pszName -- 参数名称,应从 ogr_srs_api.h 中的宏中选择,例如 SRS_PP_CENTRAL_MERIDIAN。

  • dfValue -- 要分配的值。

返回:  OGRERR_NONE成功

   // 创建一个 OGRSpatialReference 对象OGRSpatialReference srs;// 设置投影坐标系为 Transverse Mercator 投影srs.SetUTM(48, TRUE);// 设置投影坐标系的中央经线参数值为 80.0 度OGRErr result = srs.SetProjParm("central_meridian", 80.0);

在地理空间数据处理中,"归一化"或者说"标准化"是指将数据转换为统一的标准范围或单位,以便于比较、分析和处理。地理空间数据通常来自不同的数据源、采用不同的投影、坐标系统或单位,因此其数值范围和表示方式可能有很大的差异。归一化的目的是消除这些差异,使得数据在不同数据源之间可以进行有效的比较和分析。

GetNormProjParm

double GetNormProjParm(const char*, double = 0.0, OGRErr* = nullptr) const

获取归一化投影参数值

参数:

  • pszName -- 要从 ogr_srs_api.h 中的SRS_PP代码集中获取的参数的名称。

  • dfDefaultValue -- 此参数不存在时要返回的值。

  • pnErr -- 在失败时放置错误代码的位置。如果为 NULL,则忽略。

返回:  参数的值

   // 创建一个 OGRSpatialReference 对象OGRSpatialReference srs;// 设置投影坐标系为 Transverse Mercator 投影srs.SetUTM(48, TRUE);// 设置投影坐标系的中央经线参数值为 80.0 度OGRErr result = srs.SetProjParm("central_meridian", 80.0);

http://www.tj-hxxt.cn/news/34444.html

相关文章:

  • 建设旅游网站的意义网站测速工具
  • 网站如何做死链接提交客户关系管理
  • 供应邯郸网站建设信息流广告投放平台
  • 一级a做爰片免费网站瑜伽唐老鸭微信营销软件
  • 潍坊网站建设首荐创美网络站长统计 站长统计
  • 怎样做旅游公司的网站百度关键词怎么做排名
  • 公司网站建设中恒建设集团有限公司哈尔滨关键词优化报价
  • 网页和网站的不同开封网站快速排名优化
  • 邯郸市哪里有做网站的跨境电商平台有哪些?
  • 网页设计一般多大尺寸惠州自动seo
  • 最好的响应式网站企业seo关键词优化
  • 沧州网络营销推广方案什么叫做seo
  • 化工网站建站模板营销网页设计公司
  • 网站策划预算怎么做集合竞价口诀背熟6句
  • 网站开发毕业设计参考文献信息流优化师招聘
  • wordpress导入大于2m西安优化seo
  • 做高端网站网页分析报告案例
  • 科技公司简介范文网络优化师
  • 易利购网站怎么做关键词规划师工具
  • 临海建设局网站网络推广专员是做什么的
  • 做一个苹果app多少钱广州seo关键词优化是什么
  • 网站页脚写什么做seo推广公司
  • 一个做日语翻译的网站免费建网站的平台
  • 烟台微网站seo sem
  • 住房和城乡建设部投诉电话百度seo如何优化关键词
  • 医疗网站建设服务百度收录情况查询
  • 中国建设工程质量协会网站seo推广案例
  • 广州正佳广场有什么好玩的地方网站优化推广教程
  • 中山百度网站排名百度竞价排名榜
  • 专业模板网站制作服务全球疫情最新数据统计