专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

WebGIS开发入门

  本文为来自字节跳动业务中台团队成员的文章,已授权ELab发布前言
  最近在学习OSMID编辑器的过程中,我发现之前一两个月虽然也开始熟悉使用高德map的开发,但是自己对webGIS领域相关基础知识的了解却少的可怜。导致在阅读源码的过程中,常常对一些数据转化操作或者一些函数命名感到很奇怪,因此开始了对GIS基础知识的学习。
  因为没有一个成体系的学习大纲,所以需要一个问题作为切入点来帮助自己一步一步了解GIS相关知识。那么一个很容易想到的问题就出现了:地图是如何进行点的定位和展示的呢,要知道我们生活在一个球形的天体上,而我们常使用的地图是平面的,和球形毫无关系。
  因此学习的第一步是了解坐标系系统。坐标系
  总所周知,地球不是一个标准的球体,而是一个近似的椭球体,越靠近赤道则越宽。既然是一个三维物体,那么进行坐标系定位一般来说需要x,y,z一个三维坐标系来定义。但是为了更好的在球面上进行定位,所以就采取了使用经纬度的方式,在GIS开发中,以经度、维度以及相对高度所组成的坐标系将其称作为地理坐标系(GeographicCoordinateSystem,简称GCS)。
  而在平时使用手机地图或者网页地图的时候,展现在我们面前的则是一个平面地图。如果说此时我们需要查询自己去某个饭店有多远,手机会告诉我们距离多少公里或者多少米,所以我们得到两个地点之间的距离是平面距离,使用米或者千米做单位。而此时的定位坐标系,就被称作为投影坐标系(ProjectionCoordinateSystem,简称PCS)。
  很显然,我们平时使用的平面地图,肯定是做了这样一件事情,那就是将地理坐标系转换成投影坐标系。但是,一个球面从直观上是无法展开成一个连续的,没有褶皱的平面的,因此我们需要一定的数学方法进行转换。
  其实从投影坐标系的名称也可以看出,坐标系转化的方法就是投影。可以想象一下,一个3D的物品被光照射之后的影子,是不是就是2D平面了。当然坐标系的转换肯定不是随便投影就行,为了让投影之后的坐标系有一定的使用价值,投影的方式一般都会具备一定的规律,比如投影后距离不变,或者角度不变等。墨卡托投影
  墨卡托投影(MercatorProjection)是在1569年,当时的地理学家杰拉杜斯墨卡托提出的一种角度不变的投影方式,又被称作为等角正切圆柱投影。我们可以想象一下,将地球置于一个空心圆柱体中,其中地球的赤道正切于圆柱体。然后假设地心有一个灯泡,灯泡的光线能够透过地表照射到圆柱体表面,那么地球球面上的绝大部分区域都会相应的被投影到圆柱体上。此时将圆柱体展开,以赤道的投影为横坐标,以本初子午线的投影的纵坐标,就得到了以墨卡托投影所构成的平面坐标系。
  我们可以看到该投影有以下特点:经线、纬线分别为平行直线,并且经纬线之间互相垂直纬度越高的地方,投影面积形变越大,而在纬度无限接近于极点的位置,面积则会无限大,因此纬度的上限和下限分别是北纬89和南纬89。虽然在面积上有形变,但是是各个方向上的均等扩大,所以保证了地图方向、角度以及位置关系的正确性。Web墨卡托
  web墨卡托,也称伪墨卡托(PseudoMercatorProjection),属于一种不严格的墨卡托投影方式,其被GoogleMap最先发明,后续又被Bing,百度,OSM等各个网络地图服务商使用,因此成为了互联网电子地图最常见的投影方式。
  其和墨卡托投影的最大区别在于,墨卡托投影是建立在地球是一个椭球体的基础上进行投影公式计算的,而Web墨卡托在其计算公式上直接将椭球体变成了球体,大大简化了投影转化的计算方法,其计算公式为:
  其中x,y为投影坐标系中的坐标值,为赤道半径,为经度,为纬度。
  此外,web墨卡托投影一般默认为一个正方形。已知赤道半径为6378137米,则赤道的周长则为约为40075016。68557849,所以投影坐标系中X轴的范围为〔20037508。342789244,20037508。342789244〕,则Y轴的范围也为〔20037508。342789244,20037508。342789244〕,可以通过上面公式反算出纬度被限制在了〔85。0511287,85。0511287〕范围内。
  在日常地图使用中,使用web墨卡托投影的地图已经足够了。但是如果有一些其他的要求,比如说要精确描述区域面积,则一般使用圆锥投影,比如阿尔伯斯投影、兰伯特投影等,这里就不再具体展开,感兴趣的可以看一下常见的地图投影方式〔1〕。EPSG
  上个小节提到了地理坐标系和投影坐标系,还提到了一些投影方法。就拿墨卡托和web墨卡托来说,前者是将地球看作一个椭球体,后者将地球看作了一个球体。所以说我们并没有一个严格的标准且统一的方式来表述某个点的位置。当没有统一标准的时候,就会存在很多体系标准,而当各种体系标准变得庞大且失去统一管理的时候,人们想将不同体系之间的坐标互相转化的话就会变得异常困难。EPSG〔2〕就是来管理这些坐标体系的一个组织。
  EPSG通过WKID来管理不同的坐标体系,WKID简单理解就是ID,每个坐标体系拥有独一无二的ID。拿一些常用的WKID举例:WGS84(WKID4326)
  在介绍WGS84之前,我们需要弄清楚一个概念:大地坐标系。大地坐标系是以参考椭球面为基准面而建立起来的坐标系,也可以简单理解成属于地理坐标系的一种。大地坐标系又分为参心大地坐标系和地心大地坐标系。其中参心坐标系是以椭球几何中心为原点构建的坐标系,一般用来对局部地区大地测绘使用,而地心坐标系是以地球质心为原点构建的坐标系,一般用来对地球整体大地测绘使用。
  WGS84则属于地心大地坐标系,是世界上第一个统一的大地坐标系,所以也被称为世界大地坐标系,而我们常说的GPS定位系统就是依据此坐标系建立的。除了中国地区以外,很多电子地图比如谷歌、Bing等都是用的是WGS84。CGCS2000(WKID4490)
  我国在上世纪50年代和80年代分别建立了北京54和西安80参心大地坐标系,后随着社会经济,科学的发展,中国测绘、地震部门和科学院有关单位重新建立了中国新一代地心大地坐标系,也就是CGCS2000,所以也被称为2000国家大地坐标系。
  和WGS84相比,两者本质上可以算是一致的,只是在计算过程中采用的参数有细微的差别。这个差别映射到地图上,也只会有cm级别的不同,因此如果在精度不需要严格到cm级别的应用中,两者可以默认相容。Web墨卡托(WKID3857)
  Web墨卡托也在EPSG的管理范围下,可见EPSG管理的坐标系不仅仅只有地理坐标系,同样也包括投影坐标系。
  其实原本EPSG不准备将web墨卡托纳入WKID,因为web墨卡托毕竟是采用了不严谨的假设,使得原本是等角投影的墨卡托变成了近似等角,从而直接影响到投影坐标的精度。但是随着web墨卡托在web领域被广泛使用从而名声大噪,EPSG也只能将其接受。GCJ02和BD09
  GCJ02是中国国家测绘局所制定的坐标系统,其本质就是在WGS84经纬度的基础上进行了一层加密。由于国家相关安全保密规定,我国所有对外的地图系统都需要进行加密。所以高德以及谷歌的中国地图都是使用GCJ02坐标系。所以如果在GCJ02的坐标系下直接使用GPS的经纬度坐标,那么就会得到一个错误的定位地点。
  比如在手机上下载一个GPS定位软件(部分硬件设备获取的GPS信息是原始的GPS信息,而一般地图软件的定位信息都是GCJ02加密过后的),得到天安门的经纬度是39。907375,116。391349。
  但是在高德地图上,使用该坐标点则定位到其他地方:
  所以GCJ02坐标系在业内也常常被称为火星坐标系。
  而百度在GCJ02的基础上又进行了一层加密,这就是BD09。
  至于GCJ02的加密算法是不对外公开的,只有通过相关地图资质的审核,有关部门才会提供相应的加密算法。而国内一些拿到资质的厂商也提供了相应的API对外提供,可供用户将WGS84的坐标转换成GSJ02的坐标。
  拿高德API〔3〕举例,WGS84的坐标点转换成GCJ02后,得到新的坐标点116。397588975695,39。908775499132,然后拿新的坐标点在高德地图上进行定位:
  此外,严格意义上并没有GCJ02转化成WGS84的反向转化算法。数据服务
  通过了解坐标系原理,我们知道了如何将三维的地理坐标系转换成平面的投影坐标系。但是光有坐标系肯定是不行的,我们还是需要将对应的数据呈现在坐标系中才能有一个完整的地图,那么就不得不去了解地图常见的数据服务。OGC
  OGC是一个制定空间信息和基于位置服务相关标准的国际化组织。严格来说,OGC并不算是一个官方组织,但是由于OGC有着ESRI、Google、Oracle等业界强势企业作为其成员,同时还和W3C、ISO、IEEE等协会或组织结成合作伙伴关系。因此在GIS开发领域,绝大部分开发者或者企业都会依据OGC标准来提供地图数据服务。
  在地图数据服务中最显而易见的肯定是图片服务,用图片来承载一个地理信息数据,这个理所应当很好理解。所以当地理信息数据被封装成了图片信息并且可以根据用户的请求而动态返回的服务就被称作WMS(webmapservice)。
  除了图片资源以外,地图上还会有道路信息,POI信息等,而这些数据往往是灵活的,可编辑的,因此肯定不能通过图片信息进行传递,因此就有了矢量资源。而一般地图的矢量数据会包含空间数据和属性数据,拿常见的GeoJSON格式举例:{
  spanstylecolor:98c379;lineheight:26px;typespan:spanstylecolor:98c379;lineheight:26px;FeatureCollectionspan,
  spanstylecolor:98c379;lineheight:26px;featuresspan:〔
  {
  spanstylecolor:98c379;lineheight:26px;typespan:spanstylecolor:98c379;lineheight:26px;Featurespan,
  spanstylecolor:98c379;lineheight:26px;geometryspan:{
  spanstylecolor:98c379;lineheight:26px;typespan:spanstylecolor:98c379;lineheight:26px;Pointspan,
  spanstylecolor:98c379;lineheight:26px;coordinatesspan:〔102。0,0。5〕空间数据
  },
  spanstylecolor:98c379;lineheight:26px;propertiesspan:{属性数据
  spanstylecolor:98c379;lineheight:26px;namespan:spanstylecolor:98c379;lineheight:26px;xx超市span,
  }
  }
  〕
  }
  这种提供给用户矢量数据并且支持增删改查的服务就被称作WFS(webfeatureservice)。
  在实际应用中WMS和WFS也不能够完全胜任要求,比如我打开一张世界地图,服务返回给我一张世界地图的图片,但是我想通过放大的方式来定位到我的家,那么要实现这个功能这个图片的分辨率就会高的不可思议。这种要求显然是不合理的,所以OGC在WMS服务端的基础上制定了WMTS(webmaptileservice),也就是我们常说的瓦片服务。此外常见的瓦片服务还有TMS(tiledmapservice),但是这个服务是不是OGC创建的协议。瓦片
  不同于WMS,瓦片服务提供的图片是提前制定好的静态图片,可以通过下面的示意图来理解瓦片。
  在上面的金字塔模型中,世界地图分成了多层级别的瓦片服务。这个层就对应着地图的放大级别。在最上层,也就是地图缩小到最小程度时,只提供一张图片来展示世界的全貌。用户如果进行放大操作提升地图的放大级别,那么世界地图相应的展示第二个层级的图片,而实际上展示的地理位置区域大小没有变化,只是原本一张图片展示世界全貌,变成了和原本图片同等大小的四张图片来展示世界全貌。和原本相比,就会更加清晰一些。
  同样,用户继续放大,用来展示的层级所拥有的图片数量就会越多,展示的细节就会越来越清晰。但是由于屏幕大小范围有限,所以可以只选择在屏幕范围之内的图片进行下载,这样就避免了下载一张超大的图片,从而减轻了服务压力提升了体验性能。而这种被分割的图片,就被叫做瓦片。
  拿高德地图举例,因为是使用的web墨卡托投影,所以呈现的地图是正方形的。其瓦片排布编码的规律如下,其中z为放大层级,每个瓦片大小默认为256256,第z层级的瓦片数量为。
  高德地图瓦片链接为http:webrd01。is。autonavi。comappmaptile?langzhcnsize1scale1style8x{x}y{y}z{z}〔4〕,其中z为放大层级,x,y为该瓦片在所在层级的编码。
  在放大层级为3时(对于高德地图来说,有意义的最小放大层级就是3),瓦片展示如下:
  当然这种瓦片排布的规律不是通用的,不同厂商制定的瓦片服务都可能存在着一些差别,所以在使用瓦片服务的时候要注意一些。定位渲染
  在知道坐标系和地图数据服务之后,我们其实就可以简单的模拟一下地图上的点是如何渲染的了。
  已知初始条件定义DOMcontainer大小为12001000初始放大层级为12中心定位点为天安门,也就是GCJ02坐标系下的116。397588,39。908775Web墨卡托投影正方形的边长
  计算container要展示出的地图区域因为放大层级是12,横轴或纵轴存在的瓦片个数为像素长度比为
  container展示的地图面积为
  中心点的投影坐标点为
  container展示的地图区域为所在横轴区间〔12934389。117239695,12980251。334210802〕所在纵轴区间〔4833585。295927367,4871803。810069955〕
  计算出要展示的瓦片瓦片编号计算公式
  embed1。瓦片编号区间:
  横轴瓦片编号区间〔3370,3374〕
  纵轴瓦片编号区间〔1550,1553〕
  那么屏幕可视区范围展示的瓦片分布就应该是:
  验证
  在ID编辑器上,将背景配置成高德瓦片,并将放大层级设定为12,中心定位到天安门,可以得到如下图所示内容,发现屏幕内瓦片展示和我们之前手动算出来的结构保持一致。
  在弄清楚地图的基本渲染逻辑之后,其实可以对地图的渲染进行一定程度的魔改,比如将游戏地图嵌到世界地图上去:
  参考
  【1】基于Web墨卡托投影的地图算法研究和实现〔J〕。计算机应用研究,2012,29(12):47934796。
  【2】几种互联网地图服务背后的解读(WMS,WFS,WMTS,TMS)〔5〕
  【3】参心坐标系和地心坐标系〔6〕
  【4】墨卡托投影ArcGISPro文档〔7〕
  【5】聊聊GIS中的坐标系再版〔8〕参考资料〔1〕
  常见的地图投影方式:https:pro。arcgis。comzhcnproapplatesthelpmappingpropertieslistofsupportedmapprojections。htm〔2〕
  EPSG:https:epsg。io〔3〕
  高德API:https:lbs。amap。comapiwebserviceguideapiconvert〔4〕
  http:webrd01。is。autonavi。comappmaptile?langzhcnsize1scale1style8x{x}y{y}z{z}:http:webrd01。is。autonavi。comappmaptile?langzhcnsize1scale1style8x{x}y{y}z{z}〔5〕
  几种互联网地图服务背后的解读(WMS,WFS,WMTS,TMS):https:zhuanlan。zhihu。comp398998331〔6〕
  参心坐标系和地心坐标系:https:www。jianshu。comp7bbbd86dec82〔7〕
  墨卡托投影ArcGISPro文档:https:pro。arcgis。comzhcnproapplatesthelpmappingpropertiesmercator。htm〔8〕
  聊聊GIS中的坐标系再版:https:zhuanlan。zhihu。comp98839097
  谢谢支持
  以上便是本次分享的全部内容,希望对你有所帮助
  喜欢的话别忘了分享、点赞、收藏三连哦。
  欢迎关注公众号ELab团队收货大厂一手好文章字节跳动校社招内推码:4MB8NRV投递链接:https:job。toutiao。comskaFutBR
  可凭内推码投递字节跳动业务中台相关岗位哦参考资料〔1〕
  常见的地图投影方式:https:pro。arcgis。comzhcnproapplatesthelpmappingpropertieslistofsupportedmapprojections。htm〔2〕
  EPSG:https:epsg。io〔3〕
  高德API:https:lbs。amap。comapiwebserviceguideapiconvert〔4〕
  几种互联网地图服务背后的解读(WMS,WFS,WMTS,TMS):https:zhuanlan。zhihu。comp398998331〔5〕
  参心坐标系和地心坐标系:https:www。jianshu。comp7bbbd86dec82〔6〕
  墨卡托投影ArcGISPro文档:https:pro。arcgis。comzhcnproapplatesthelpmappingpropertiesmercator。htm〔7〕
  聊聊GIS中的坐标系再版:https:zhuanlan。zhihu。comp98839097END

陪老公上街看美女陪老公看美女有一对。结婚之初,妻子给丈夫定了一条规矩下班后立即回家,不准在街上四处张望,不准看内衣秀或时装秀。老公顿时变成了一只闷骚的猫,公私不顾。再这样下去,丈夫会毁了家庭,妻子女研究生带母上学,最终宿舍自缢身亡没有人愿意被脐带栓一辈子杨元元本科就读于武汉大学,可毕业8年都找不到一份像样的工作后来又考上了上海海事大学研究生,可入学仅两个月,她却选择在宿舍卫生间自缢身亡。她的身上,到底发生了怎样的故事?幼年丧父家境从小胖科学家遭网暴看网络不能没有理性据报道,最近,拥有600多万粉丝的宠物博主小胖科学家被传虐狗的事件仍在发酵。事件发生后的半月来,小胖科学家自媒体号评论区被谩骂声攻陷,博主吴洋洋的家庭住址手机号码被泄露,一波又一波清洗葡萄,用盐用面粉都不对,多加2样,脏东西自动不见,放心吃清洗葡萄,用盐用面粉都不对,多加2样,脏东西自动不见,放心吃葡萄是一种很受欢迎的水果,每年秋季89月,夏秋交替之际,是它成熟的时候,不仅非常新鲜,价格也便宜,才2块多一斤,就连葡萄一旦打响战争,我国启动一级战备,专家建议老百姓做好五点不添乱侦查世界新动向前言随着国际局势愈发紧张,佩洛西窜台事件导致台海形势日益严峻,再加上最近闹得沸沸扬扬的第三次世界大战的话题,老美联合周边盟友国也进行军演,这种种迹象都表明,我们有必要宠妃刘娥不能生育,将尼姑李氏献给皇帝,生下皇子赵祯成一代明君在中国封建王朝的漫长历史中,宋朝无疑是一个非常有存在感的朝代,尤其是北宋。北宋,是中国历史上文化最昌盛科技最发达艺术最繁荣的历史时期之一。历史学家陈寅恪先生就说过华夏文化历经千载,不管夫妻还是情侣,关系再好,也不要伸手要这三样东西我全部的野心,不过自由一生知乎上有这样一个问题哪些道理,是你结婚后才明白的?其中有个高赞回答,让我印象深刻爱情和面包,都别伸手去要。糖还是那个糖,可是伸手要的,和主动给的,糖的甜味吃鸡4款动物载具抢先看,游戏变动物园,小黄鸭三轮太萌了大家好,欢迎来到由小鱼干开讲的吃鸡新鲜事速报,不知道大家有没有发现,光子推出的载具皮肤,基本上就包含2种,一种是跟车厂联动的,还有1种是原创的。跟车厂联动的就没什么好说,模型基本照社区要公开透明的办事,不要欺骗老百姓我家住在黑龙江省绥化市北林区,我是年近80岁的老人,我因有大病不能打预苗,半月前社区来让签一个不打预苗的单子。2022年8月18日上午北五建设社区来了两个人,说是社区区长,要给我照安徽宿州女孩称家里来了只不一样的鸡,农林局一级保护动物8月17日,安徽宿州灵璧一女孩喊爸爸称家里来了一只鸡的视频引起网友关注。网友留言称,池鹭我是鸡?鸡?池鹭你见过这么可爱的鸡吗?你把它放垃圾桶了。8月17日,潇湘晨报记者联系到女孩的俗语东西五不借,借了家破败,指哪5样东西?为何不能借?中华文化源远流长,几千年来老祖宗们通过自己的生活经验,总结出不少有警示意义的俗语。有些是人情世故方面的,也有些是农耕种植方面的,这些俗语言简意赅大家都能理解。并且经过多年来的实践,
中国欧盟,达成重磅协议,被美国人收割的欧洲,终于能喘口气了日前,中国人民银行与欧洲中央银行续签了双边本币互换协议,有效期为三年,规模相较上次保持不变,仍为3500亿人民币。这对于遭到美元收割的欧元区而言,无异于一剂强心剂。所谓双边本币互换华泰人寿将迎新任总经理光大永明人寿副总经理李林拟接棒中国网财经10月11日讯(记者郭伟莹)近日,有消息称,光大永明人寿副总经理李林拟任华泰人寿新一任总经理。资料显示,华泰人寿2005年3月成立,目前注册资本为36。325亿元。据梳理敢向绝壁要天路带领乡亲们历时7年在绝壁上凿出一条通向外界道路的重庆市巫山县竹贤乡下庄村党支部书记毛相林说山凿一尺宽一尺,路修一丈长一丈,就算我们这代人穷十年苦十年,也一定要让下辈人过上好日子。贫烈士后代李祖芳红军的一天助脱贫丨我这十年红军烈士李筱甫的孙子李祖芳。(农健图)秋天到了,坝上村刚送走一批参加暑期培训的学员。65岁的红色讲解员李祖芳没有闲下来,白天,他在自家的地里种萝卜和青菜,其余时间,就在阅读和井冈山85岁马玉琴被抛弃?丈夫另找新欢,老妻少夫佳话破灭?李玉成抛弃马玉琴,老夫少妻佳话破碎?85岁的马玉琴怎么也没想到自己当初不顾众人反对执意要嫁的李玉成竟然会在自己卧病在床的时候另结新欢,抛弃自己。大家应该都还记得当时那对年龄相差很大红颜薄命之香妃刘丹28岁遭遇车祸,为她扫墓20年的男友今已结婚01这个年轻美丽的姑娘一切的可能被车祸斩断如果22年前的那个深夜,刘丹没有坐上那辆轿车,也就不会遭遇车祸。如今她正好50岁,也许是一位身居一线的老戏骨,也可能选择退居二线,选择退休召回1。2万辆车,市值蒸发超1100亿美元,特斯拉杀手泡沫破了被称为特斯拉杀手的Rivian(RIVN。US),完全失去了往日的荣光。在全球新能源车渗透率越来越高当下,概念的炒作正在退潮,市场越来越看重新能源车企的交付数据,而这也成为了衡量一2023年,退休中人的养老金会按照新办法计发吗?转给亲朋即将到来的2023年,是一个关键的年份,对于机关事业单位退休中人来说也是如此。退休中人养老金有10年过渡期,很多人关心,退休中人的养老金会从2023年开始按照新办法计发吗?欢迎点击如何通俗地解释97年亚洲金融危机发生的原因和过程?危机的根源不在泰国,而在日本。1997年7月2日凌晨四点半,泰铢对美元当日即贬值15以上,拉开了亚洲金融危机序幕。亚洲金融危机是一个交叉影响的事件,在泰国首次发生的危机,不仅蔓延整五位志愿军女兵神秘失踪,2001年一位美国记者道出真相,令人泪崩2001年,一位金发老人在一个年轻女人的搀扶下缓缓走下飞机,这是她第一次来到中国,此行只为揭开一段前尘往事。老人自称是抗美援朝战争的目击者,在那场战争中她偶然认识了几个中国志愿军女国庆,九寨沟只有88个游客?巨变正在发生来源智谷子智谷趋势202210112115发表于广东变了,变了!一个国庆假期过去,一切都变了。第一场大变,发生在四川。九寨沟,从未如此安静过。有网友爆料,九寨沟创造了历史,今年国庆
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网