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

江门网站seo推广seo外包品牌

江门网站seo推广,seo外包品牌,wordpress彩票,图片模板制作app😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍地图投影和坐标转换proj库配置使用。 无专精则不能成,无涉猎则不能通。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下&a…

😏★,°:.☆( ̄▽ ̄)/$:.°★ 😏
这篇文章主要介绍地图投影和坐标转换proj库配置使用。
无专精则不能成,无涉猎则不能通。——梁启超
欢迎来到我的博客,一起学习,共同进步。
喜欢的朋友可以关注一下,下次更新不迷路🥞

文章目录

    • :smirk:1. 项目介绍
    • :blush:2. 环境配置
    • :satisfied:3. 使用说明

😏1. 项目介绍

官网:https://proj.org/en/9.4/

项目Github地址:https://github.com/OSGeo/PROJ

proj 库是一个开源的库,主要用于地理坐标系之间的转换和地图投影。它被广泛应用于地理信息系统(GIS)和其他需要坐标转换和地图投影的应用中。

基本概念:

1.坐标系:地球上的位置可以用不同的坐标系表示,如经纬度(WGS84)和投影坐标系(如UTM)。
2.地图投影:将地球的三维表面映射到二维平面上(如地图)的方法。不同的投影方法适用于不同的应用场景。
3.坐标转换:将一种坐标系中的点转换到另一种坐标系中,通常涉及复杂的数学计算。

主要功能:

1.坐标转换:支持多种地理坐标系之间的转换,如从WGS84到UTM,或者从地理坐标系到地心坐标系。
2.地图投影:支持多种地图投影方式,如墨卡托投影、兰伯特正形投影等。
3.坐标操作:支持各种坐标操作,如偏移、旋转等。

😊2. 环境配置

Ubuntu上使用可以直接apt安装:

sudo apt install libproj-dev

程序g++编译:

g++ -o main main.cpp -lproj

😆3. 使用说明

WGS84转UTM示例:

#include <proj.h>
#include <iostream>int main() {// 创建坐标转换上下文PJ_CONTEXT *ctx = proj_context_create();// 定义源和目标坐标系PJ *source_crs = proj_create(ctx, "EPSG:4326"); // WGS84PJ *target_crs = proj_create(ctx, "EPSG:32633"); // UTM zone 33N// 创建坐标转换对象PJ *transformation = proj_create_crs_to_crs_from_pj(ctx, source_crs, target_crs, nullptr, nullptr);if (transformation == nullptr) {std::cerr << "Failed to create transformation object." << std::endl;proj_context_destroy(ctx);return 1;}// 坐标转换前,需要将坐标转换对象转为度量型PJ *transform = proj_normalize_for_visualization(ctx, transformation);proj_destroy(transformation);if (transform == nullptr) {std::cerr << "Failed to normalize transformation." << std::endl;proj_context_destroy(ctx);return 1;}// 输入经纬度坐标 (经度, 纬度)PJ_COORD input = proj_coord(12.0, 55.0, 0, 0); // (Longitude, Latitude)PJ_COORD output;// 执行坐标转换output = proj_trans(transform, PJ_FWD, input);// 输出转换后的坐标 (东, 北)std::cout << "Easting: " << output.xy.x << " Northing: " << output.xy.y << std::endl;// 清理资源proj_destroy(transform);proj_context_destroy(ctx);return 0;
}

UTM转WGS84示例:

#include <proj.h>
#include <iostream>int main() {// 创建PROJ上下文PJ_CONTEXT *ctx = proj_context_create();// 定义UTM坐标系 (EPSG:32633 - UTM zone 33N) 和 WGS84坐标系 (EPSG:4326)PJ *utm_crs = proj_create(ctx, "EPSG:32633"); // UTM zone 33NPJ *wgs84_crs = proj_create(ctx, "EPSG:4326"); // WGS84// 创建坐标转换对象PJ *transformation = proj_create_crs_to_crs_from_pj(ctx, utm_crs, wgs84_crs, nullptr, nullptr);if (transformation == nullptr) {std::cerr << "Failed to create transformation object." << std::endl;proj_context_destroy(ctx);return 1;}// 将转换对象规范化为视觉化使用PJ *transform = proj_normalize_for_visualization(ctx, transformation);proj_destroy(transformation);if (transform == nullptr) {std::cerr << "Failed to normalize transformation." << std::endl;proj_context_destroy(ctx);return 1;}// 输入UTM坐标 (Easting, Northing)double utm_easting = 500000.0; // 例如: 500000米double utm_northing = 4649776.22482; // 例如: 4649776.22482米PJ_COORD input = proj_coord(utm_easting, utm_northing, 0, 0);// 执行坐标转换PJ_COORD output = proj_trans(transform, PJ_INV, input); // PJ_INV 表示逆转换(UTM -> WGS84)// 输出转换后的WGS84坐标 (经度, 纬度)std::cout << "Longitude: " << output.lp.lam << " Latitude: " << output.lp.phi << std::endl;// 清理资源proj_destroy(transform);proj_context_destroy(ctx);return 0;
}

在这里插入图片描述

以上。

http://www.yayakq.cn/news/111710/

相关文章:

  • 帮做试卷的网站服装加工网
  • 阳泉推广型网站开发wordpress windows下载
  • 网站怎么做qq授权登录学做彩票网站好
  • 网站建设与维护是什么意思平台网站怎么做的
  • 做酒的网站有哪些福建泉州网站建设公司
  • 如何在服务器建设iis网站隧道建设杂志网站
  • 18.ppt网站是谁做的wordpress5.1下载
  • 天津葛沽 网站建设公司北京城乡建设网站首页
  • 做网站的公司没有技术网站公司备案有用
  • 广州网站建设泸州外国网站打开很慢
  • 怎么夸客户网站做的好静态网站开发步骤
  • 手表商城网站建设美声广告网站建设
  • 提供网站建设公司哪家好招聘网站建设初衷
  • 微信公众号可以做几个微网站sem竞价代运营公司
  • 衣服网站设计泉州玖码网络设计
  • 网站推广方案中确定目标是指免费logo设计工具
  • 大型网站建设行情网站制作行业越来越难做
  • 国外做兼职网站怎么用ftp上传网站
  • 英文seo 文章发布类网站常用的建一个网站要多少钱
  • 微网站 留言板wordpress 管理员权限
  • 北京网站备案注销中心手机做网站对比路由器做网站
  • 寻花问柳-专注做一家男人的网站猪网站建设的案例教程
  • 外贸公司网站如何做网上推广2019网站建设
  • 如何防范钓鱼网站网站申请免费
  • 品牌网站设计建设开发公司购买的游乐设备计入什么科目
  • 做游戏代练去那个网站崇文手机网站建设
  • 制作网站的图片哪来电子商务网站建设初学视频教程
  • 如何介绍设计的网站模板下载fr后缀网站
  • 网站开发工程师求职信网站管理手册
  • 网站主题制作网站seo流程