首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

2019GEOJSON标准格式学习

最近做项目需要详细了解geojson,因此查了一些资料,现在整理一份标准格式记录,要理解本文需要首先了解json基本知识,这里不过多展开,可以去参考w3school上教程,简言之,json是通过键值对表示数据对象一种格式...很多编程语言都有对应json解析库,例如Pythonjson库,C#Newtonsoft.Json,Javaorg.json。...geojson是用json语法表达和存储地理数据,可以说是json子集。...要素Point 要素是最简单,类型type对应Point,然后坐标是一个1维数组,里面有两个元素(如果是立体坐标就是三维x,y,z),分别为经度和纬度。...对于曲线(贝塞尔曲线)目前还没有很好表达,但是在地理数据,曲线一般会用LineString去拟合,现实地理世界也没有标准曲线地理要素。

1.4K20

GeoJson格式标准规范

本文档示例使用空格来帮助说明数据结构,但不是必需。 不带引号空格在JSON 不重要。1.3 GeoJson 规范本文档取代原来 GeoJSON 格式规范GJ2008。...3.1.4 LineString对于类型 LineString ,coordinates成员是两个或多个位置数组。...同一注册表“ application / vnd.geo + json" 应该将其状态更改为“OBSOLETED” ,并指向媒体类型“ application / geo + json”和添加到此...B.2 增加 GeoJSON 文本定义添加了映射到 geo’ URIs 规则。增加了I-JSON限制建议。提醒实施者注意坐标精度过高对互用性影响。注意几何集合互用性问题。...在定义这样媒体类型时,基于“ JSON 文本序列(JSON)”可能是有用,这样规范就不需要考虑如何表示多个JSON 对象,只需定义它如何应用于GeoJSON 对象。

2.7K130
您找到你想要的搜索结果了吗?
是的
没有找到

【翻译】GeoJSON格式规范-RFC7946

GeoJSON支持如下几何类型: Point LineString 线段 Polygon 多边形 MultiPoint 多个 MultiLineString 多个线段 MultiPolygon 多个多边形...定义 JavaScript对象表示法(JSON)以及术语对象,成员,名称,值,数组,数字,true,false和null解释RFC7159所定义。...反子午线 以斐济群岛内Features集合来说明,在南纬16度20度之间跨越反子午线,包含这些Features西南角是南纬20度,东经177度,东北角是南纬16度,西经178度。...在同一个注册表,“application / vnd.geo + json条目应该将其状态改为“OBSOLETED”(“废弃”),指向媒体类型“application / geo + json指针以及添加到此...当定义一个新meida type时,可能基于"JavaScript Object Notation (JSON) Text Sequences" RFC7464 是有用,留下如何将多个JSON对象表示为该分类基础

6.8K80

(数据科学学习手札65)利用Python实现Shp格式向GeoJSON转换

语法规则,以及如何利用Python完成Shp格式GeoJSON格式转换进行介绍。..."features":[],所有矢量要素都存放在这个列表,每个要素都是一个字典,下面我们来认识一下各种矢量要素在GeoJSON规范格式: 要素(Point): 对于单个要素,其格式如下: {...互有重叠两个多边形:   互有重叠多个多边形要素格式同多个不重叠多边形,效果如下: ?   ...对应GeoJSON数据如下,可以看出其与多个重叠多边形区别在于多边形矢量信息嵌套在第二层列表: { "type": "Feature", "properties": {}...  在2.1我们较为详细了解矢量数据在GeoJSON数据具体表现形式,通过下面的自编函数,以Shp文件名称(去除文件拓展名)、Shp文件编码、GeoJSON文件编码为输入参数: def Shp2JSON

2.6K10

Mongodb GeoJSON 地理数据处理 其实我也很厉害

],[45,3]} 3 polygon 多边形,多边形是通过多个描述通过线来最终组成一个形状,特点是第一个与最后一个一定是一样,否则无法组成闭合图形。...1 标注,标注地理数据类型是什么,point ,linestring , polygon ,MulitiPoint, MultiLineString, MultiPolygon, GeometryCollection...总体来说地理数据是又简单复杂,,线,面(多边体),组合成多点, 多线,多面等类型。...这个存储地理数据JSON标准是由IETF 在2016年发布RFC7946规定的如何存储地理数据。...下面的查询语句值直接从 restaurants collection 查询经纬度在[ -73.9667, 40.78 ] 与这个周围1 公里 5 公里存在其他 restaurants 有哪些

1.8K20

GeoJSON 和 TopoJSON

GeoJSON 和 TopoJSON 是符合 JSON 语法规则两种数据格式,用于表示地理信息。 1. GeoJSON   GeoJSON 是用于描述地理空间信息数据格式。...GeoJSON 不是一种新格式,其语法规范是符合 JSON 格式,只不过对其名称进行了规范,专门用于表示地理信息。   GeoJSON 最外层是一个单独对象(object)。...最外层 GeoJSON 里可能包含有很多子对象,每一个 GeoJSON 对象都有一个 type 属性,表示对象类型,type 值必须是下面之一: Point:。 MultiPoint:多点。...相比 GeoJSON 直接使用 Polygon、Point 之类几何体来表示图形方法,  TopoJSON 每一个几何体都是通过将共享边(被称为arcs)整合后组成。   ...3.在线工具   JSON在线解析及格式化:https://www.json.cn/   在线生成 GeoJSON:http://geojson.io/   简化、转换 GeoJSON 和 TopoJSON

2.3K80

(数据科学学习手札42)folium进阶内容介绍

; 二、处理GeoJSON和TopoJSON数据 2.1 GeoJSON数据   GeoJSON是语法规则符合JSON文件,专用于表示地理信息一种JSON文件,其在JSON语法基础上,内部又有着一套固定语法规则...在folium我们使用folium.GeoJson()方法来为已有的Map对象添加GeoJson图层,其常用参数如下:   data:传入你想要在地图上绘制GeoJson数据   style_function...相较于GeoJSON,大大地减少了数据冗余,节省存储空间,在folium,我们使用folium.TopoJson()方法,通过与folium.GeoJson()相似的方法,为地图添加TopoJSON层对象...m''' m 实际,可以根据与面对象关联指标数字,来控制不同水平对应面对象颜色,譬如在绘制中国各省经济发展水平示意图时,就可以将每个省某个经济指标人均GDP作为指标数字,在style_function...,[经度,纬度,数值]],其中每一个单独坐标由嵌套内层每一个列表前两个元素来确定,控制热力程度值由上述列表第三个值表示,下面是一个简单例子: import folium import

4K40

百度地图城市位数据下载并转换

概述 在浏览百度地图开放平台时候,发现有个资源下载页面,里面有个城市中心位和百度地图行政区划adcode映射表数据,这是一个经常使用到数据,本文实现将这个数据转换为geojson,并借助QGIS转换为经纬度坐标或火星坐标...下载并转换 下载下来数据如下图所示。 将文件后缀改为js文件,并添加代码var data = 如下图所示。...在html引入修改后文件,并写转换代码,转换代码可如下: <script src="....(new <em>Geojson</em>(res))) 控制台输出<em>的</em>即为转换后<em>的</em><em>geojson</em>,如下图。...将数据复制为<em>json</em>文件,并在qgis<em>中</em>打开,打开后设置标注,效果如下: 坐标转换 转换后<em>的</em>数据位百度<em>的</em>坐标,借助扩展<em>中</em><em>的</em>geohe工具箱将坐标转换为火星坐标系,操作图下图。

9700

【Rust日报】2020-03-23 geo, geo-types, 和 geo-json 新版本发布!

geo, geo-types, 和 geo-json 新版本发布! geo, geo-types, 和 geojson 新版本发布,现在已经更新到crates.io....有不少non-breaking更新,添加了不少新功能特征: 增加了大量一级文档,同时加了很多扩展型例子,特别是很多crate库geo生态 相互操作性例子文档。...更多LineString iterators,允许Points 和 Coordinates做mutable iteration操作。...geojson 类型除了增加了quick_collection 功能之外,允许任意合法GeoJSON类型转换成geo-typesGeometrycollection。...这曾经是很多程序员,因为在很多地方都要搞boilerplate,现在牺牲一性能就可以获得极大便利性。

61520

【三维地图】开发攻略 —— 详解“GeoJSON”技术和应用场景

GeoJSON支持下面几何类型:(Point)、线(LineString)、面(Polygon)多点(MultiPoint)、多线(MultiLineString)、多面(MultiPolygon)和几何集合...geometry:存储该特征要素实际形状描述 properties:存储该要素属性 geometry: type:存储要素类型(Point(),LineString,Polygon,MultiPoint...对于GeoJSON应用领域有了新了解。而这些特性是基于地图基础之上。接下来就介绍一下从基础领域显示领域技术应用。...高级可视化实现 Loca.GeoJSONSource:绑定geojson 格式数据源,一个数据源可以给多个图层同时提供数据。...看了代码后,发现3D跟平面地图处理过程几乎一致,这也从侧面反应了,其实在目前阶段GeoJson使用,都是基于地图所开放api来实现

2K20

Python+Kepler.gl轻松制作酷炫路径动画实现示例

而随着近期keplergl更新,更多新特性得以同步Python生态,本文就将针对其中路径动画制作方法进行介绍。...而在官方说明描述了要绘制路径动画需要输入数据格式: ?...这是一个典型GeoJSON格式LineString要素,特别的是其”coordinates”键对应值不同于常规[经度, 纬度]格式,而是代表着[经度, 纬度, 高度, 时间戳],其中高度非必要,可以设置为...3.构造数据与初始化html 这里我们以重庆市渝中区OSM路网为演示示例数据,首先我们需要利用json模块来读取本地重庆市渝中区_osm路网_道路.geojson数据: from keplergl import...到此这篇关于Python+Kepler.gl轻松制作酷炫路径动画实现示例文章就介绍这了,更多相关Python+Kepler.gl路径动画内容请搜索ZaLou.Cn

1K20

GeoJSON模板速记GeoJSON规范

GeoJSON支持下面几何类型:、线、面、多点、多线、多面和几何集合。...LineString,coordinates成员必须是两个或者多个位置数组。线性环市具有4个或者更多位置封闭线。第一个和最后一个位置是相等(它们表示相同)。...Polygon,coordinates成员必须是一个线性环坐标数组数组。对拥有多个面来说,第一个环必须是外部环,其他必须是内部环或者孔。...几何集合必须有一个名字为"geometries"成员。与"geometries"相对应值是一个数组。这个数组每个元素都是一个GeoJSON几何对象。...bbox坐标轴顺序遵循几何坐标轴顺序。除此之外,bbox坐标参考系统假设匹配它所在GeoJSON对象坐标参考系统。

61410

买房,GIS能做什么(一)

例如:广州-增城-新塘站附近 数据 高德地图,矢量和影响图作为底图数据用来分析; 贝壳找房地图找房功能数据作为小区位置个价格参考。 高德地铁数据,作为地铁线路和站点分析数据。...(geojson)); }) // 地铁线路 $.get('data/subway-gz.json', function (res) { var geojson = {...将获取到数据进行处理,转成点数据,在处理过程,引入turf.js用以计算小区地铁站(直线)距离,处理代码如下: $.get('data/zengcheng1.json', function...小区销售均价;3.通过影像图可以分析周边地理环境,植被覆盖情况;4.通过矢量图可以分析交通情况、周边人文情况,学校、商超等。...其实通过GIS买房,我们其实可以有更多使用方式与场景,本文由于时间和篇幅关系就先说到这,后面有时间带你一起去挖挖“买房,GIS能做什么”。

96720

mapboxGL测量实现

概述 讲真,MapboxGL里面虽然有测量功能,但是不太好用,于是就萌生了自己实现方法。本文几个turf.js来说说mapboxGL测量实现。 效果 ? ?...实现 1、实现思路 按照绘制流程,需要涉及map三个事件:click,dblclick,mousemove,其中click为绘制,dblclick为结束绘制,mousemove为绘制。...这样,定义一个状态标识isMeasure,在点击开始绘制按钮时候,将标识设置为true,在map三个事件中都会根据这个标识判断是否为绘制状态。...地图展示分layer和marker来分别展示; layer里面区分点和线(面)图层,以达到比较好展示效果。...= ''; jsonPoint.features = []; jsonLine.features = []; tooltip.remove(); // 添加关闭按钮

94150

Python+Kepler.gl轻松制作酷炫路径动画

图2 而随着近期keplergl更新,更多新特性得以同步Python生态,本文就将针对其中路径动画制作方法进行介绍。...图4 这是一个典型GeoJSON格式LineString要素,特别的是其"coordinates"键对应值不同于常规[经度, 纬度]格式,而是代表着[经度, 纬度, 高度, 时间戳],其中高度非必要...2.1 构造数据与初始化html 这里我们以重庆市渝中区OSM路网为演示示例数据,首先我们需要利用json模块来读取本地重庆市渝中区_osm路网_道路.geojson数据: from keplergl...import KeplerGl import json import time with open('geometry/重庆市渝中区_osm路网_道路.geojson') as g: raw_roads...= json.load(g) 随便打印出其中包含某个线要素: 图5 可以看到,这时线要素内部包含还是[经度, 纬度]格式,接下来我们为其虚构上时间戳信息,为了保证整个路网可视化协调一致,

1.2K40

(数据科学学习手札85)Python+Kepler.gl轻松制作酷炫路径动画

图2   而随着近期keplergl更新,更多新特性得以同步Python生态,本文就将针对其中路径动画制作方法进行介绍。...图4   这是一个典型GeoJSON格式LineString要素,特别的是其"coordinates"键对应值不同于常规[经度, 纬度]格式,而是代表着[经度, 纬度, 高度, 时间戳],其中高度非必要...2.1 构造数据与初始化html   这里我们以重庆市渝中区OSM路网为演示示例数据,首先我们需要利用json模块来读取本地重庆市渝中区_osm路网_道路.geojson数据: from keplergl...import KeplerGl import json import time with open('geometry/重庆市渝中区_osm路网_道路.geojson') as g: raw_roads...以上就是本文全部内容,如有疑问或建议欢迎评论区与我交流~

1K20

GIS拓扑讲解点线面几何体拓扑关系判断及运算分析_turf案例

GeoJSON 优点是结构简单,并且得到了所有网页地图API支持;但 GeoJSON  不支持空间索引,这个缺点可能会限制 Turf 处理大型文件能力效率。...Turf 可以非方便地集成 Leaflet.js 地图控件,Mapbox 也为其提供了相应 Mapbox.js 插件。...Turf数据标准是WGS84经度、纬度坐标,大多数Turf函数使用GeoJSON功能,Point、线LineString、面PolygonTurfTurf.js库应用:点线面几何体拓扑关系判断及运算分析...内含:Within几何形状A线都在几何形状B内部。B⊃A相交:Crosses几何形状至少有一个共有点 A∩B≠∅ , 检查两个几何对象是否交叉相交。只能在不同维度使用:和线,线和面等。...crosses 穿过(相交)这里拓扑关系比较特殊,使用crosses,不能在同纬度使用,但可以在不同维度使用,和线,线和面等。不能在线与线之间,和之间,也不能在面与面之间使用。

2.4K10

我是如何通过geojson画个中国地图出来 |Java 开发实战

前言:前两周我带你们分析了WebGis关键步骤,下面呢,我带大家来看看Geojson加载及其点击事件Geojson数据解析GeoJSON是一种对各种地理数据结构进行编码格式。...GeoJSON对象可以表示几何、特征或者特征集合。GeoJSON支持下面几何类型:、线、面、多点、多线、多面和几何集合。GeoJSON特征包含一个几何对象和其他属性,特征集合表示一系列特征。...一个完整GeoJSON数据结构总是一个(JSON术语里)对象。在GeoJSON里,对象由名/值对--也称作成员集合组成。对每个成员来说,名字总是字符串。...,看完第一篇你应该知道我是将地图map交接给页面的div,而map包含了很多遮罩层,我现在加载GeoJSON就是在最上面的层上在加载url数据。...,比如说那条线吧,我设置在6级以上才能看到,下面我缩小地图线就不见了,下面是消失了并不是太小看不见3、在放大一定级别我设置了点周围显示名称!

30010

MongoDB各种类型索引

---- _id索引 我们在上文介绍过,我们往集合添加文档时,默认情况下MongoDB都会帮助我们创建一个名为_id字段,这个字段就是一个索引。...复合索引 如果我们查询条件有多个的话,我们可以对这多个查询条件都建立索引,比如我们可以对文档x和y字段都建立索引,如下: db.sang_collect.ensureIndex({x:1,y:-1...查询多边形: db.sang_collect.find({x:{$geoWithin:{$polygon:[[0,0],[100,0],[100,1],[0,1]]}}}) 这里可以填入任意多个...,表示多边形各个。...2d sphere索引 2dsphere适用于球面类型地图,它数据类型是GeoJSON格式,我们可以在http://geojson.org/地址上查看GeoJSON格式样式,比如我们描述一个

1.3K70
领券