地理坐标系与投影坐标系的区别

地理坐标系与投影坐标系的关系与区别 当前其他国产建模软件,例如Mirauge3D,在建立空中三角测量任务前,要求用户必须指定源数据和输出数据的坐标系,后面再建立成果输出任务时也可以选择修改导出的坐标系,相对于CC来说,空三能力更强大,计算结果更准确。仅考虑椭球的差异,两者的结果是一致的,但因2000国家大地坐标系的坐标定义在2000年那一时刻,而大多数应用实际上是不同时间进行定位,因地球上的板体是在不断运动的,不同时刻位于地球不同板块上站点的实际位置是在变化的,已经偏离了2000年的位置。根据投影构成方式、变形规律的不同,主要分为以下几类。 阅读详情

地理坐标系与投影坐标系的区别

Posted on 2005-03-29 00:07   jetz  阅读(15873)   评论(21)    编辑   收藏   网摘  所属分类:   GIS  
1、首先理解地理坐标系(Geographic coordinate system),Geographic coordinate system直译为  
地理坐标系统,是以经纬度为地图的存储单位的。很明显,Geographic coordinate syst  
em是球面坐标系统。我们要将地球上的数字化信息存放到球面坐标系统上,如何进行操作  
呢?地球是一个不规则的椭球,如何将数据信息以科学的方法存放到椭球上?这必然要求  
我们找到这样的一个椭球体。这样的椭球体具有特点:可以量化计算的。具有长半轴,短  
半轴,偏心率。以下几行便是Krasovsky_1940椭球及其相应参数。  
Spheroid: Krasovsky_1940  
Semimajor Axis: 6378245.000000000000000000  
Semiminor Axis: 6356863.018773047300000000  
Inverse Flattening(扁率): 298.300000000000010000  
然而有了这个椭球体以后还不够,还需要一个大地基准面将这个椭球定位。在坐标系统描  
述中,可以看到有这么一行:  
Datum: D_Beijing_1954  
表示,大地基准面是D_Beijing_1954。  
--------------------------------------------------------------------------------  
有了Spheroid和Datum两个基本条件,地理坐标系统便可以使用。  
完整参数:  
Alias:  
Abbreviation:  
Remarks:  
Angular Unit: Degree (0.017453292519943299)  
Prime Meridian(起始经度): Greenwich (0.000000000000000000)  
Datum(大地基准面): D_Beijing_1954  
Spheroid(参考椭球体): Krasovsky_1940  
Semimajor Axis: 6378245.000000000000000000  
Semiminor Axis: 6356863.018773047300000000  
Inverse Flattening: 298.300000000000010000  
2、接下来便是Projection coordinate system(投影坐标系统),首先看看投影坐  
标系统中的一些参数。  
Projection: Gauss_Kruger  
Parameters:  
False_Easting: 500000.000000  
False_Northing: 0.000000  
Central_Meridian: 117.000000  
Scale_Factor: 1.000000  
Latitude_Of_Origin: 0.000000  
Linear Unit: Meter (1.000000)  
Geographic Coordinate System:  
Name: GCS_Beijing_1954  
Alias:  
Abbreviation:  
Remarks:  
Angular Unit: Degree (0.017453292519943299)  
Prime Meridian: Greenwich (0.000000000000000000)  
Datum: D_Beijing_1954  
Spheroid: Krasovsky_1940  
Semimajor Axis: 6378245.000000000000000000  
Semiminor Axis: 6356863.018773047300000000  
Inverse Flattening: 298.300000000000010000  
从参数中可以看出,每一个投影坐标系统都必定会有Geographic Coordinate System。  
投影坐标系统,实质上便是平面坐标系统,其地图单位通常为米。  
那么为什么投影坐标系统中要存在坐标系统的参数呢?  
这时候,又要说明一下投影的意义: 将球面坐标转化为平面坐标的过程便称为投影。  
好了,投影的条件就出来了:  
a、球面坐标  
b、转化过程(也就是算法)  
也就是说,要得到投影坐标就必须得有一个“拿来”投影的球面坐标,然后才能使用算法  
去投影!  
即每一个投影坐标系统都必须要求有Geographic Coordinate System参数。  
3、我们现在看到的很多教材上的对坐标系统的称呼很多,都可以归结为上述两种投  
影。其中包括我们常见的“非地球投影坐标系统”。):  
__________________  
大地坐标(Geodetic Coordinate):大地测量中以参考椭球面为基准面的坐标。地面点P的位置用大地经度L、大地纬度B和大地高H表示。当点在参考椭球面上时,仅用大地经度和大地纬度表示。大地经度是通过该点的大地子午面与起始大地子午面之间的夹角,大地纬度是通过该点的法线与赤道面的夹角,大地高是地面点沿法线到参考椭球面的距离。  
方里网:是由平行于投影坐标轴的两组平行线所构成的方格网。因为是每隔整公里绘出坐标纵线和坐标横线,所以称之为方里网,由于方 里线同时 又是平行于直角坐标轴的坐标网线,故又称直角坐标网。  
在1:1万——1:20万比例尺的地形图上,经纬线只以图廓线的形式直接表现出来,并在图角处注出相应度数。为了在用图时加密成 网,在内外图廓间还绘有加密经纬网的加密分划短线(图式中称“分度带”),必要时对应短线相连就可以构成加密的经纬线网。1:2 5万地形图上,除内图廓上绘有经纬网的加密分划外,图内还有加密用的十字线。  
我国的1:50万——1:100万地形图,在图面上直接绘出经纬线网,内图廓上也有供加密经纬线网的加密分划短线。  
直角坐标网的坐标系以中央经线投影后的直线为X轴,以赤道投影后的直线为Y轴,它们的交点为坐标原点。这样,坐标系中就出现了四 个象限。纵坐标从赤道算起向北为正、向南为负;横坐标从中央经线算起,向东为正、向西为负。  
虽然我们可以认为方里网是直角坐标,大地坐标就是球面坐标。但是我们在一副地形图上经常见到方里网和经纬度网,我们很习惯的称经 纬度网为大地坐标,这个时候的大地坐标不是球面坐标,她与方里网的投影是一样的(一般为高斯),也是平面坐标

geotools判定wkt坐标是否为加带号的投影坐标 阅读详情

相关推荐

地理坐标系和投影坐标系

是平面,单位是米,默认可以计算面积,长度和体积,地理坐标系默认无法计算面积和长度,体积,做三维建议是投影系地理坐标系是原型,投影坐标系是地理坐标系加投影方法得到的,任何一个投影坐标系都包含地理坐标系的信息。数据有坐标系,数据框也有坐标系,一个数据框有多个数据,当数据的坐标系和数据框的坐标系一致时,数据会动态投影到数据框。3、3度和6度以比例尺1:2.5万分界线,小于等于2.5万使用6度,比例尺大于2.5万 (如1:1万) 采用3度分带。6、UTM和高斯:只适合大比例尺,小范围(小于600KM)

D_bel的博客 2233

地理坐标系与投影坐标系

地理坐标系和投影坐标系

AIGIS的博客 1万+

STM32CubeIDE串口打印浮点数踩坑实录:5分钟搞定printf输出小数(附完整配置截图)

本文针对STM32CubeIDE中串口无法打印浮点数的常见问题,提供了详细的解决方案。核心在于通过添加“-u _printf_float”链接器参数,启用标准库的浮点数格式化支持。文章附有完整的配置截图和步骤,并提供了系统性的排查清单,帮助开发者快速解决printf输出小数的问题。

weixin_29163797的博客 343

地理坐标系与投影坐标系的区别以及投影变换与定义投影的区别

本文为基于arcgis转换经纬度和投影坐标教程以及关于它们之间关系的一点理解

liukunrs的博客 2万+

你需要这样一个Ros软路由—— 路由器+外网+一号通ip线路=动态ip的WiFi信号

功能强大 管理便捷—给您全新的路由体验 一键更换指定线路or批量更换所有IP/MAC/SSID 自定义走本地网络策略的分流功能 设备批发价、不限制拨号账号服务商 强大的单设备/多设备IP去重功能 批量导入、管理一号通线路 一键任意切换5G_WiFi(推荐)/2.4G_WiFi(建议不用) 设备支持PPTP/L2TP/SSTP/openVP.N等协议 独家支持openVPN,适用于网络受限用户 支持自行接入AP和交换机扩容 一键打开/关闭所有虚拟WiFi 一键隐藏/显示设备WiFi...

米粒儿 4249

基于ROS下的安卓手机图像和IMU跑ORB-SLAM3

接之前文章继续,手上没有现成的单目+IMU硬件,但是安卓手机几乎人人都有。因此,本文讲下如何用手机跑ORB-SLAM3的Mono和Mono_Inertial。 1. 手机与PC通信 基于ROS下的信息发布和订阅,手机和PC在一个局域网下进行信息(image和IMU)传输。 手机APK参考了github上的2个开源Android_Camera-IMU和android_ros_sensors,基于ros_java生成安卓APP,下载安装任一个APP到安卓手机,界面分别是这样: 手机和PC连一个无

h_372101的博客 1万+

【GIS】地理坐标系与投影坐标系的区别

在地理信息系统中,坐标系的选择和使用是至关重要的。我们通常使用的坐标系有两种:地理坐标系和投影坐标系。本文将详细介绍这两种坐标系的概念、区别、转换方式以及常见投影。

Remote Sensing迷途小书童 2506

告别版本冲突!在Ubuntu 20.04上优雅实现ROS Noetic与ROS2 Foxy双环境切换

本文详细介绍了在Ubuntu 20.04系统上实现ROS Noetic(ROS1)与ROS2 Foxy双环境共存与切换的完整方案。通过智能脚本设计和工作空间隔离,解决了版本冲突问题,帮助开发者高效管理不同ROS版本项目。特别适合需要同时开发ROS1和ROS2应用的机器人开发者。

weixin_28452161的博客 406

地理坐标系与投影坐标系区别与联系

地理坐标系与投影坐标系区别 空间参考中主要包含大地水准面、地球椭球体、投影坐标系等几部分内容。地图投影就是把地球表面的任意点,利用一定数学法则,转换到地图平面上的理论和方法,一般有两种坐标系来进行表示,分别是地理坐标系和投影坐标系。如下图所示,描述了地理坐标系与投影坐标系之间的关系。 参考椭球体 表1 常见的参考椭球体及其参数 椭球名称 长半轴(米) 短半轴(米) 扁率的倒数 Clarke1866 6378206.4 6356583.79999898 294.9786982 Besse

陨星落云的博客 5363

避开这些坑!SOEM控制伺服电机时PDO配置与状态机处理的常见误区

本文深入探讨了使用SOEM控制伺服电机时PDO配置与状态机处理的常见误区,提供了详细的避坑指南。从SyncManager配置顺序到状态字位掩码应用,再到网络同步优化,帮助开发者避免通信失败和系统不稳定问题,提升工业自动化项目的可靠性。

chongtai6075的博客 482

华为OD机试 新系统真题-收集灵草(Java/Py/C++/Go/C/Js)

华为OD机试 新系统真题【收集灵草】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【收集灵草】多语言题解。

qq_45776114的博客 544

ArcMap中地理坐标系与投影坐标系的区别,我们为什么要进行投影呢?

1.首先我们了解一下什么是地理投影,以及什么是投影

andyfradar的博客 5573

接口电路设计的关键要点

接口电路设计是嵌入式硬件开发的核心环节,本文系统阐述了五大关键设计要点:1)电平匹配技术,详细分析了3.3V/5V系统互连方案及转换电路计算;2)阻抗匹配原理,包括高速信号反射机制及差分信号处理;3)滤波与去耦设计,提出多级电容配置和"先电容后过孔"布局原则;4)接地设计规范,重点说明模拟/数字地分离及高速信号回流路径;5)防护电路设计,涵盖防反接、过流保护及ESD防护方案。文章通过具体计算公式、器件选型指南和布局技巧,为接口电路设计提供了系统化的解决方案,并附有设计检查清单和典型问题分

weiyvyy的博客 453

地理坐标系与投影坐标系区别

1、前者是球面,后者是平面。 2、前者单位是度,后者单位是米。 3、某一个基准面,地理坐标系只有一个,投影坐标系可以有很多个。 4、地球上的某一点,地理坐标系下的经纬度是唯一的,而平面坐标系的XY值却有无数个。 5、任意一个投影坐标系都有一个地理坐标系。 6、投影坐标系=地理坐标系+投影方法+中央经线+等等。 ...

yuanYW7556的博客 3381

数据服务:数据服务框架Magic-API 介绍及实践

接口快速开发框架 基于Java的接口快速开发框架,编写接口将通过magic-api提供的UI界面完成,自动映射为HTTP接口,无需定义Controller、Service、Dao、Mapper、XML、VO等Java对象即可完成常见的HTTP API接口开发 。在线页面快速开发平台 基于 vue 的在线页面快速开发平台,主要把所有的 vue 代码都改为在线配置,最终获得一个 json 格式的页面新一代爬虫平台 基于Java实现的新一代爬虫平台,以图形化方式定义爬虫流程,不写代码即可完成爬虫。今天给大家安利一

GIS摆渡人 2063

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

地理坐标系和投影坐标系之间的区别

投影会导致变形(形状、面积、距离或方向的变形),不同的投影方法旨在控制这些变形,以满足特定需求,如保持面积、保持形状等。如果想要制作一张平面地图,就必须进行投影,否则无法将球面展平,需要根据地图范围和用途选择合适的投影,如中国常用高斯-克吕格投影,世界常用墨卡托投影,区域地图常用阿尔伯斯等积投影。(1)定义投影是当数据没有坐标系信息,或信息错误时,为其“贴上标签”,告诉ArcGIS它当前是什么坐标系。(2)投影是将数据从一个坐标系(地理或投影)转换计算到另一个坐标系。(4)正射投影:保持从中心点的方向。

weixin_54435620的博客 569

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

理论补全篇1:地理坐标系与投影坐标系的区别

较为详细地阐述了地理坐标系和投影坐标系的区别,建议认真学完

2501_90753503的博客 1417

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

上一篇: 常用坐标系
下一篇: 中国GPS位置
ococo
博客等级 码龄26年 13粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值