首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

大地测量学:EPSG:4326、EPSG:3857

常用的投影有等矩矩形投影(Platte Carre)和墨卡托投影(Mercator),下图来自Mercator vs. well…not Mercator (Platte Carre),生动地说明了这两种投影下的失真...3.2 EPSG:3857 (Pseudo-Mercator) 伪墨卡托投影,也被称为球体墨卡托,Web Mercator。它是基于墨卡托投影的,把 WGS84坐标系投影正方形。...我们前面已经知道 WGS84 是基于椭球体的,但是伪墨卡托投影把坐标投影球体上,这导致两极的失真变大,但是却更容易计算。这也许是为什么被称为”伪“墨卡托吧。...另外,伪墨卡托投影还切掉了南北85.051129°纬度以上的地区,以保证整个投影正方形的。...因为墨卡托投影等正形性的特点,在不同层级的图层上物体的形状保持不变,一个正方形可以不断被划分为更多更小的正方形以显示更清晰的细节。

2.1K20

地图基础

坐标系一般有两种坐标系,地图坐标系(geographic coordinate system)和投影坐标系(projected coordinate system)地理坐标系地理坐标系一般是指由经度、纬度和高度组成的坐标系...,能够标示地球上的任何一个位置对于地球上的某个位置,使用不同的测量基准得到的坐标是不一样的使用最广泛的WGS 84北美NAD 83、欧洲ETRS 89和我国CGCS 2000同WGS 84差异都非常小,...但是并不一致投影坐标系三维的地理坐标转化为二维,叫做投影投影方式有很多,比如圆柱形、圆锥形、方形等,但是都会导致变形和失真常用的投影有灯具矩形投影(platte carre) 和 墨卡托投影(mercator...)下方左图表示地球球面上大小相同的圆形;右上为墨卡托投影投影后仍然是圆形,但是在高纬度时物体被严重放大了,也就无法显示极地地区;右下为等距投影,物体的大小变化不明显,但是图像被拉长了图片等距投影投影上有扭曲...,也被称为球体墨卡托,web mercator基于墨卡托投影,把WGS 84坐标系投影正方形,切掉了南北极附近地区由于墨卡托投影等正形性的特点,在不同层级的图层上物体的形状保持不变,一个正方形可以不断地被划分为更多更小的正方形以显示更清晰的细节伪墨卡托坐标系非常适合显示数据

1.2K40

高效的多维空间点索引算法 — Geohash 和 Google S2

从球心向外切正方体6个面分别投影。S2 是把球面上所有的点都投影到外切正方体的6个面上。 这里简单的画了一个投影图,上图左边的是投影正方体一个面的示意图,实际上影响的球面是右边那张图。...这样我们就可以把投影到外切正方体6个面上的球面画出来,见上图右边。 投影正方体以后,我们就可以把这个正方体展开了。 一个正方体的展开方式有很多种。不管怎么展开,最小单元都是一个正方形。...球面矩形投影修正 上一步我们把球面上的球面矩形投影正方形的某个面上,形成的形状类似于矩形,但是由于球面上角度的不同,最终会导致即使是投影同一个面上,每个矩形的面积也不大相同。...上图就表示出了球面上个一个球面矩形投影正方形一个面上的情况。 经过实际计算发现,最大的面积和最小的面积相差5.2倍。见上图左边。相同的弧度区间,在不同的纬度上投影正方形上的面积不同。...支持空间索引,包括区域近似为离散“S2单元”的集合。此功能可以轻松构建大型分布式空间索引。 最后一点空间索引相信在工业生产中使用的非常广泛。 S2 目前应用比较多,用在和地图相关业务上更多。

2.4K50

高效的多维空间点索引算法 — Geohash 和 Google S2

从球心向外切正方体6个面分别投影。S2 是把球面上所有的点都投影到外切正方体的6个面上。 ? 这里简单的画了一个投影图,上图左边的是投影正方体一个面的示意图,实际上影响的球面是右边那张图。 ?...这样我们就可以把投影到外切正方体6个面上的球面画出来,见上图右边。 投影正方体以后,我们就可以把这个正方体展开了。 ? 一个正方体的展开方式有很多种。不管怎么展开,最小单元都是一个正方形。...球面矩形投影修正 ? 上一步我们把球面上的球面矩形投影正方形的某个面上,形成的形状类似于矩形,但是由于球面上角度的不同,最终会导致即使是投影同一个面上,每个矩形的面积也不大相同。 ?...上图就表示出了球面上个一个球面矩形投影正方形一个面上的情况。 ? 经过实际计算发现,最大的面积和最小的面积相差5.2倍。见上图左边。相同的弧度区间,在不同的纬度上投影正方形上的面积不同。...上表中,ToPoint 和 FromPoint 分别是把单位向量转换到 Cell ID 所需要的毫秒数、把 Cell ID 转换回单位向量所需的毫秒数(Cell ID 就是投影正方体六个面,某个面上矩形

3.3K60

GIS坐标系测绘原理:大地水准面基准面参考椭球体EPSGSRIWKT

假设一个椭圆柱面与地球椭球体面横切于某一条经线上,按照等角条件中央经线东、西各3°或1.5°经线范围内的经纬线投影椭圆柱面上,然后椭圆柱面展开成平面而成的。...所以高斯投影适用于小地区的地图,一个带就能覆盖的地区。 兰勃特投影 有两种: 等角圆锥投影 设想用一个正圆锥切于或割于球面,应用等角条件地球面投影圆锥面上,然后沿一母线展开成平面。...EPSG:3857 (Pseudo-Mercator) 伪墨卡托投影,也被称为球体墨卡托,Web Mercator。它是基于墨卡托投影的,把 WGS84坐标系投影正方形。...我们前面已经知道 WGS84 是基于椭球体的,但是伪墨卡托投影把坐标投影球体上,这导致两极的失真变大,但是却更容易计算。这也许是为什么被称为”伪“墨卡托吧。...因为墨卡托投影等正形性的特点,在不同层级的图层上物体的形状保持不变,一个正方形可以不断被划分为更多更小的正方形以显示更清晰的细节。

3.6K11

GIS数据漫谈(六)— 投影坐标系统

地“球”被投影“平面”后,还有一个最实际的功能就是便于测量。因为投影后的坐标都是在直角平面坐标系下的坐标了(单位一般为米)。比如计算两点间的距离,直接用勾股定理即可。...假设地球被套在一个圆柱中,赤道与圆柱相切,然后在地球中心放一盏灯,把球面上的图形投影圆柱体上,再把圆柱体展开,就形成以一幅墨卡托投影的世界地图。...Google基于墨卡托投影设计了 Web墨卡托投影 (Web Mercator)。首先,基于椭球体的墨卡托投影简化为“正球体”,半球取WGS84椭球体的长半轴 6378137 m。...这样全世界可以在一个正方形里面刚好放下,也为地图切片的四叉树分割和计算提供了便利。但由于Web墨卡托投影原本基于椭球体的墨卡托投影“简化”为了“正球体”。...• 森城市具备开放的城市场景输出能力,无需担心场景后续使用的兼容问题。

1.1K10

Facebook Surround360 学习笔记--(2)算法原理

Surround360开源项目包含了从相机阵列的硬件设计图像拼接的软件算法,它在一个系统里实现了端端的3D360°从视频拍摄视频处理的过程。...正方形投影是一种在VR领域图像/视频编码中常用的技术。该投影是一种把球面展开到矩形结构图的的方法,就像世界地图一样。正方形图像中的每一列都对应球面的一条经线,每一行都对应球面的一条纬线。...上面的模型讲的是:如何渲染出的立体正方形图像对应到真实世界中沿射线方向的光的颜色,这解释了为什么渲染的结果会让人感觉很真实(虽然是近似)。...首先,相机输出RAW Bayer格式的图像,surround360渲染算法中的图像信号处理部分利用gamma校正和颜色调整RAW数据转换为标准的RGB图像。然后,读取图像数据并对每张图做正方形投影。...这些正方形投影矩形结构可以覆盖整个球体。每张图只占整个球体中的一小部分(如下图)。 ? 把原始输入图片投影正方形时,需要对镜头引起的图像畸变做校正。

1.8K70

MySQL的GIS功能

MySQL支持使用空间索引对空间值数据进行查询优化,空间列上的空间索引使用r - tree。使用几何图形的最小边界矩形(MBR)构建空间索引。MBR是包围大多数几何图形的最小矩形。...对于水平或垂直的linestring, MBR是退化为linestring的矩形。对于一个点,MBR是一个退化为该点的矩形。同时,MySQL还支持在空间列上创建普通索引。...有不同类型的空间参考系统: 投影SRS是地球在平面上的投影,也就是平面地图。例如,通过在地球仪内使用灯泡照射在环绕地球仪的纸圆筒上,地图投射到纸上。根据地理位置,每个点都映射到地球上的一个地方。...该平面上的坐标系统是使用长度单位(米、英尺等)的笛卡尔坐标,而不是经度和纬度。这里的球体是椭球体(扁平的球体)。地球的南北轴比东西轴短一点,使用扁平的球体更准确,但完美的球体可以更快地计算。...与投影SRSs不同,它没有地理参考,也不一定代表地球。它是一个抽象的平面,可以用来做任何事情。SRID 0是MySQL中空间数据的默认SRID。

3K31

明白了这些术语,才算懂个“球”

这样的变换不可能完美,总会变形,或者长度变形,或者角度变形,或者面积变形,因此在不同的场合下,会使用不同的投影方法。...轴按理说在纬度为90°时,y值为无穷大,这会让程序员崩溃的,为了编程方便和效率,程序员把Y轴的取值范围也限定在 [-20037508.3427892, 20037508.3427892]之间,程序员把世界地图弄成了正方形...为了减少投影变形,高斯-克吕格投影分为3°带和6°带投影。 ? 图片取自网络 以6度分带为例,水平方向从-180度180度,共分为60个带。...我国经度范围是73°135°,横跨11个六度带,所以带号范围是1323。 每一小片西瓜都有一个坐标系,我国位于北半球,纵坐标均为正值,横坐标在中央经线处为零,西边为负值,使用不便。...它是等角横轴割圆柱投影,圆柱割地球于南纬80度、北纬84度两条等高圈,地球划分为60个投影带,每带经差为6度,与六分带的高斯克吕格投影非常相像,容易搞混。

1.7K20

基础渲染系列(八)——反射

因为我们使用球体的法线来采样环境,所以投影不取决于视图方向。这就像在一个球体画了环境一样。 为了产生实际的反射,我们必须采取从照相机表面的方向,并使用表面法线对其进行反射。...你可以通过Metallic滑块设置在01之间的某个位置来模拟这一点。 ? (金属度0.75,一个有灰尘的镜子) 3 盒投影 我们目前有一个反射球和一个反射探针。两者都悬停在我们建筑物的中心。...让我们添加更多球体,将其放置在内部正方形区域的边缘附近。但是,仅在中心保留一个探针。 ? (所有的反射都长一样) 这些反射出了点问题。它们看起来都一样。...使用此向量,可以对立方体贴图进行采样并最终得到正确的反射。 ? (投影以找到采样方向) 这个房间不一定要是一个立方体。就像我们建筑物的内部一样,任何矩形都可以。但是,房间和立方体贴图必须对齐。...Unity这些信息存储在立方体贴图位置的第四分量中。如果该分量大于零,则探针应使用投影。让我们使用if语句来解决这个问题。 ? 即使我们使用了if语句,也不意味着编译后的代码也包含if。

3.7K30

学废了系列 - WebGIS vs WebGL图形编程

原生墨卡托投影得到的平面地图是一个长方形,Web 墨卡托投影在原生墨卡托投影基础上的再次简化,地球假设为一个正球体投影后得到的平面地图是一个正方形。...正方形方便瓦片切图(关于瓦片切图的知识下文会讲),这样能够提前地图数据切片储存,提高用户的使用体验。缺点是Y轴存在0.33%的误差; 墨卡托投影有两个致命的缺点: 第一,形变非常严重。...还记得前面提到的墨卡托投影的第二个假设吗?地球假设为正球体投影之后得到的平面地图是一个正方形,被切割成一个个瓦片也是正方形,这样能够大大降低计算复杂度。...Projection矩阵的作用是观察空间的三维坐标映射到二维的裁剪空间中,可以理解成三维的图形投影二维的画布上。...这时候就可以尝试用R-Tree解决,每个报表的容器都是一个个矩形盒子,使用rbush可以检测出所有矩形的冲突情况,然后再尝试自动调整布局直到rbush检测不冲突为止。

1.8K20

OpenGL ES透视投影实现方法(四)

视口变换 前面已经使用过视口变换的函数glViewport了,视口是一个而为矩形窗口区域。是OpenGL渲染操作最终显示的地方。...投影矩阵主要是为w产生正确的值,这样在渲染管线的后续操作中做透视除法,远处的物体就看起来比进出物体小,很容易想到,可以利用顶点位置的z分量,这个距离映射到w分量上,z越大,w也越大。...上面这三个点越来越远,通过透视投影后,z和w都变大了,可以想到,在后面的透视除法时,x和y分量都会变小,于是就会出现距离越远,汇聚一个点,也就是三维效果。...前面使用正交投影,它的矩阵不会使得w粉量增加,于是通过透视除法也不会使w分量增加,所以正交投影不会出现近大远小的效果,透视投影会出现近大远小的效果 透视投影例子 在上面矩形Demo的基础上修改上面的正方形的顶点数据...,这四个正方形的距离越来越远。

1.2K30

综述:用于自动驾驶的全景鱼眼相机的理论模型和感知介绍

图6:球形模型,UCM(a)首先包括单位球体投影,然后是透视投影,E-UCM球体替换为具有系数β的椭球体,DS模型在UCM中添加了第二个单位球体投影球体之间的距离为ξ。...已经证明,它在一系列透镜中表现良好,首先将点X投影单位球体,然后投影模型针孔摄像机(图6a) UCM的逆投影变换 增强型统一相机模型(Enhanced Unified Camera Model)...:UCM由增强型UCM扩展(图6b),该模型球面投影推广为椭球体(或实际上是一般的二次曲面),并能够证明一定的精度增益。...典型的校准过程是,首先检测图像特征(比如棋盘格),其次,算法通过最小化点的重投影误差,尝试估计内参和外参,以使用校准设置的模型投影检测到的特征。...球形CNN推广更复杂的鱼眼流形表面将是一个有趣的方向,特别是, Kernel transformer networks[91]有效地卷积算子从透视转换为全向图像的等矩形投影,更适合推广鱼眼图像。

3.3K20

你被追尾了

那么我们只需要在小球外接一个正方形,然后判定该正方形和边框是否发生碰撞就行了. 即想下图这样考虑蓝色的小正方形矩形边框的碰撞情况就行了 ?...事实上,通过外接图形判别法,我们碰撞检测化归为了两个矩形之间的碰撞情况 ?...则就可以使用上述数学公式方便的计算旋转之后的 圆心坐标. 转换为蓝色矩形和蓝色圆形之后,就可以使用 圆形与无旋转矩形 相交的判定方法了....其实上面熊猫(竹子)离屏数据渲染出来只是为了效果直观一些,实际运用过程中,肯定不会将这些离屏数据在屏幕上渲染出来,而是在内存中使用,因为内存中操作这些数据肯定远比在屏幕上渲染出这些数据快的多....若在某一角度光源下,两物体的投影存在间隙,则为不碰撞,否则为发生碰撞。 注意,一旦存在间隙的情况,表明从光源间隙存在一条直线可以这两个多边形分离开来,从而这两个多边形不相交.

4.6K30

OpenGL ES正交投影实现方法(三)

glGetAttribLocation(mProgram, "aPosition"); } public void draw() { GLES20.glUseProgram(mProgram); // 顶点数据传递管线...我的本意是显示一个正方形,但实际上现实的却是一个矩形了,y轴上被拉伸了,并且横屏状态下也是类似的情况。...正交投影是一种平行投影投影线是平行的,其视景体是一个长方体,坐标位于视景体中的物体才有效,视景体里面的物体投影近平面上的部分最终会显示屏幕的视口中,关于视口后面会降到。...摄像机默认位置在(0,0,0)处,在上面的设置下,如果正方形沿z轴正方向平移1个单位,屏幕上就显示不了,因为已经跑到了设置的视景体外面了。...视口 前面说过在视景体中的物体最终会投影近平面上,最终显示视口上,正如前面在onSurfaceChanged设置的那样。

87220

一起来实现全景图 VR 吧!—— Three.js 系列

(Equirectangular) 也就是最常见的世界地图的投影方式,做法是经线和纬线等距地(或有疏密地)投影一个矩形平面上。...这种格式的优点是比较直观,并且投影矩形的。缺点也很明显,球体的上下两极投影出来的像素数很多,而细节内容比较丰富的赤道区域相比来说像素数就很少,导致还原时清晰度比较糟糕。...立方体贴图(CubeMap) 是另一种全景画面的储存格式,做法是球体上的内容向外投影一个立方体上,然后展开,而它对比等距柱状投影的优势是,在相同分辨率下,它的图片体积更小,约为 等距柱状投影 的 1...在前面的介绍中我们可以得到 2:1 的等距投影全景图对应的几何体为球形,还记得我们在前《造一个海洋球》学过,如何来创建一个球体,没错就是 **SphereGeometry**。 ......立方体贴图(CubeMap) 立方体贴图就和它的名字一样,我们只需要使用一个立方体就能渲染出来一个全景效果,但是2:1 的全景图肯定是不能直接使用的,我们首先需要通过 工具来进行转化,目前有两种比较方便的方式

3.5K41

浅谈 GPU图形固定渲染管线

象限的划分通常是由轴对称的平面切割而成,所以每个象限是正方形或长方形的,不过也有一些四叉树用任意形状来细分空间。四叉树这种数据结构出现的目的就是加速平截头体的裁剪,那么它是如何办到的呢?...在观察者坐标系中,我们的任务是获取3D场景的2D表示,这种从N维N-1维的操作在数学上称为投影,实现投影有多种方式,如正投影(也称平行投影)和透视投影。...由于透视投影更加符合人类的视觉习惯,它会产生近大远小的效果,所以我们采用这种投影来执行视锥中的3维数据投影平面的投影。Directx中通过一个称为投影矩阵来视域体中的几何体投影投影窗口中。...视口变换的任务是顶点坐标从投影平面转换到屏幕的一个矩形区域中,该区域称为视口。...在游戏中,视口通常是整个矩形屏幕区域,当然也可以视口描述为屏幕的一个子区域,视口的坐标是相对于窗口来描述的 经过一系列坐标的转换,我们输入计算机的一系列三维坐标点已经转换为2D屏幕的三维显示数据。

2.4K80

浅谈 GPU图形固定渲染管线

象限的划分通常是由轴对称的*面切割而成,所以每个象限是正方形或长方形的,不过也有一些四叉树用任意形状来细分空间。四叉树这种数据结构出现的目的就是加速*截头体的裁剪,那么它是如何办到的呢?...在观察者坐标系中,我们的任务是获取3D场景的2D表示,这种从N维N-1维的操作在数学上称为投影,实现投影有多种方式,如正投影(也称*行投影)和透视投影。...由于透视投影更加符合人类的视觉习惯,它会产生*大远小的效果,所以我们采用这种投影来执行视锥中的3维数据投影*面的投影。Directx中通过一个称为投影矩阵来视域体中的几何体投影投影窗口中。...视口变换的任务是顶点坐标从投影*面转换到屏幕的一个矩形区域中,该区域称为视口。...在游戏中,视口通常是整个矩形屏幕区域,当然也可以视口描述为屏幕的一个子区域,视口的坐标是相对于窗口来描述的 经过一系列坐标的转换,我们输入计算机的一系列三维坐标点已经转换为2D屏幕的三维显示数据。

2.2K20
领券