摘要:一般非专业的GIS应用通常会用到省市等行政区区划边界空间数据做分析,本文简单介绍了如何在互联网上下载省,市,区县的shp格式空间边界数据,并介绍了一个好用的在线数据转换工具,并且开源。...一、首先,到阿里云提供的地图选择器网站选择想要下载的行政区, 网站提供的是json格式数据,也就是GeoJson格式的多边形地理空间数据。...json api链接和包含河南省子区域的json api链接,这里子区域只提供两级,即所选的本一级和下一级: 二、然后,在浏览器输入json api链接,可以看到数据格式是很规整的json数据,在浏览器中右键保存为...json格式数据,如本文保存为410000_full_henan.json; 也可以通过网站提供的的复制按钮,直接复制Json文本,自行粘贴保存为json格式文件; 三、最后,将得到的json格式的地理空间数据转换为...本文介绍使用的是开源在线转换工具(链接),该工具可以支持多种格式的转换,包括Shp,GeoJson,TopoJson,DBF,CSV,基本包含了常用的地理空间数据格式,使用比较简单直观。
geojson是用json的语法表达和存储地理数据,可以说是json的子集。...对于曲线(如贝塞尔曲线)目前还没有很好的表达,但是在地理数据中,曲线一般会用LineString去拟合,现实地理世界中也没有标准的曲线地理要素。...小的在前面,范围大的在后面,用上4个中括号,但效果不是有洞的 { "type": "Feature", "properties": {}, "geometry":...两个镶套的多边形 type 3 有孔洞的多边形 { "type": "Feature", "properties": {}, "geometry": { "type...里面还有其他标签表达其他的属性,如外包矩形等,其中特别重要的是坐标系统,一般里面的坐标默认为WGS84,当然也可以是其他坐标系统的坐标,但是要标识。
我们从2014年到2021年间的Bing Maps图像中检测到了7.77亿座建筑物,包括Maxar和Airbus的图像。数据可在 ODbL 下免费下载和使用。 数据包括什么?...776,712,641 个建筑足迹多边形几何图形,以行分隔的 GeoJSON 格式分布在世界各地。 如何创建数据的?...建筑物提取分两个阶段完成: 语义分割——使用深度神经网络 (DNN) 识别航拍图像上的构建像素 多边形化——将建筑像素检测转换为多边形 第1阶段:语义分割 第2阶段:多边形化 数据下载 选择你所需区域直接下载即可...数据包含区域 矢量格式是GeoJSON,可直接转换成.shp格式,依旧套合谷歌影像看看效果。 稍微有些偏移,不过整体还是不错。
这就涉及到自制「GeoJSON」(一种用于编码各种地理数据结构的格式),今天就给大家介绍一个可以自制「GeoJSON」的网站:http://geojson.io/ 如图,这个网站可以创建、编辑、保存...「GeoJSON」文件,可以在地图上画点、线、多边形等,左边操作的同时,右侧的 JSON 会同步变化。...此外,右侧的「Table」选项卡,点进去还可以为区域添加属性(地名) 编辑好之后,点击 Save>>GeoJSON 就可以保存(下载) 这时,就可以参照官方的「JSON 引入示例」,将自制的「GeoJSON...这种引入方式,需要在 html 的 head 里引入 jQuery; html 需要放到 tomcat、IIS 之类中使用,不要直接在资源管理器、我的电脑中打开……file 协议下默认不支持 AJAX; *.geojson...另存成 *.json 使用,如不行就把文件内容存入 json 中(好长时间没用,忘记了) 。
数据存储 mongoDb自带了地理空间索引,使用2dsphere索引类型 可以存储GeoJSON格式数据 指定点、线和多边形。...字段为需要存储的数据 type:Point 点 coordinates 经纬度信息: [longitude, latitude]代表[经度, 纬度] name为附加自定的存储名称字段 参考: http://geojson.org.../ mongodb官方文档:https://docs.mongodb.com/manual/reference/geojson/ 添加索引 手动创建 db.order.ensureIndex( {"...order_info.survey_coordinate" : "2dsphere"} ) //联合索引 如: db.order.createIndex( {"order_info.survey_coordinate...php官方文档中 ThinkPHP5.0 参考 $mongodb;//mongodb对象为 think\db\Connection https://www.kancloud.cn/manual
矢量数据通常用于表示诸如点、线、面和多边形等地理空间对象,同时还可以附带一些地理相关的属性数据,如名称、类型和面积等等。...GeoJSON支持诸如点、线、面和多边形等地理要素的表示,并且可以和矢量数据结构相互转换。...在Cesium中,使用Cesium.GeoJsonDataSource.load()方法可以将本地的GeoJSON文件加载到图层中。...GeoJsonDataSource 从GeoJSON数据源创建实体。GeoJsonDataSource支持GeoJSON规范的各种要素类型和属性。...,只需要三步即可完成调用 1、创建viewer对象 2、使用Cesium.GeoJsonDataSource.load()方法加载GeoJSON数据 3、将加载的GeoJSON数据添加到viewer
上篇文章中我们介绍了MongoDB中索引的简单操作,创建、查看、删除等基本操作,不过上文我们只介绍了一种类型的索引,本文我们来看看其他类型的索引。...---- _id索引 我们在上文介绍过,我们往集合中添加文档时,默认情况下MongoDB都会帮助我们创建一个名为_id的字段,这个字段就是一个索引。...查询多边形中的点: db.sang_collect.find({x:{$geoWithin:{$polygon:[[0,0],[100,0],[100,1],[0,1]]}}}) 这里可以填入任意多个点...,表示多边形中的各个点。...2d sphere索引 2dsphere适用于球面类型的地图,它的数据类型是GeoJSON格式的,我们可以在http://geojson.org/地址上查看GeoJSON格式的样式,比如我们描述一个点,
使用全文本索引可以非常快的进行文本搜索,mongoDB支持多种语言,可惜在免费版中,并不支持世界第一的火星文语言(汉语)。查mongoDB的官网可以看到,在企业版中是支持汉语的全文索引的。...允许使用GeoJSON格式(http://www.geojson.org)指定点、线、多边形。..."shenzhen", "loc":{ "type":"Polygon", "coordinates":[[1,2],[2,3],[3,4]] } } 创建...查询时,需要将希望查找的内容指定为形如{"$geometry":geoJsonDesc}的GeoJSON对象。...文档中应该使用包含两个元素的数组表示2d索引字段。
import KeplerGl #创建一个KeplerGl对象 map1 = KeplerGl(height=500) #激活KeplerGl对象到jupyter的窗口中 map1 在jupyter...可以看到通过这种方式我们直接一步就还原了之前完成的可视化结果,通过本小节中这个简单的小例子,你应该对jupyter notebook中如何调用kepler.gl有了一个初步的认识,接下来我们在不同的例子中总结传入不同格式数据进行可视化的方法...所属的github下notebooks文件下的geojson-data.json,这个geojson文件记录了位于巴黎的一个多边形的矢量信息: import keplergl with open('geojson-data.json...', 'r') as f: geojson = f.read() map_1 = keplergl.KeplerGl(height=600,data={'geojson':geojson}) map...skpler.gl直接绘制出我们需要的多边形,,类似的你可以根据自己的需要创造出更多的可视化作品,下面的几个美观的可视化作品来自kepler.gl的官网: ? ? ? ? ? ? ?
,多边形是通过多个点的描述通过线来最终组成一个形状,特点是第一个点与最后一个点一定是一样的,否则无法组成闭合的图形。...,以及组合,其中数据主要分为三块 1 标注,标注地理的数据类型是什么如,point ,linestring , polygon ,MulitiPoint, MultiLineString, MultiPolygon...https://docs.mongodb.com/manual/reference/geojson/ 在mongodb中具体的展示GEOJSON 的格式为 标记location 在 location...或者点比较多的多边形 此外一个document 中的location的信息应该集中存放,例如一个人的详细信息中包含他的家的地址 和 单位的地址,如下方的经纬度数据的存放 db.records.save...其他样例可以查看下面的网站中的例子 https://dev.to/vcpablo/4-ways-to-find-geojson-data-in-mongodb-14pb 4 关于查询中MONGODB
GeoJSON支持如下几何类型: Point 点 LineString 线段 Polygon 多边形 MultiPoint 多个点 MultiLineString 多个线段 MultiPolygon 多个多边形...GeoJSON中的这些概念都不是新创建出来的,而是从预先已经存在的开放地理信息系统标准中派生出来的,转化成更符合web程序开发的JSON格式。...定义 JavaScript对象表示法(JSON)以及术语对象,成员,名称,值,数组,数字,true,false和null解释如RFC7159中所定义。...一个改变GeoJSON成员的语义或者修改了格式的规范不会创建成GeoJSON的新版本; 相反,它定义了一个全新的格式,不能被标识为GeoJSON。 9....一个GeoJSON文本包含许多的多边形,当坐标精度从6个小数位到15个小数位,会导致将近两倍的数据膨胀。
离线地图与搜索 在GitHub上搜索数据的过程中,发现了一个名为d3js-geojson的项目里面放着中国详细省、市、县数据,并且还有及GeoJSON文件。...这就意味着两件事: 地图离线 多边形搜索 1地图离线 首先,我们要知道GeoJSON是怎样的一个存在。...这样实现的前提是: 要有一个支持多边形搜索的搜索引擎,如ElasticSearch、Solr、MongoDB等等。 要将用户的数据成功地存成GEO信息。...随后,我们要做两件事: 创建对应省的市的Dropdown 从地图上跳转到省 创建对应省的市的Dropdown,我们只需要根据地点重新生成一个新的Menu再插入即可。...从地图上跳转到对应的省的时候: 用Aajx请求获取这个省的GeoJSON文件 获取这个市的中心位置,并对其进行缩放 将上面的每个市绘制到地图上 在这个过程中遇到的最大的坑是:中国有北京、上海、天津、
为了向后兼容,解析器不应该拒绝不遵循右边规则的多边形。...改变 GeoJSON 成员的语义或者修改格式的规范不会创建这种格式的新版本; 相反,它定义了一种全新的格式,不能被标识为 GeoJSON。...对于本节,如 RFC5870 中所示,“lat”、“ lon”、“ alt”和“ unc”分别是‘ geo’ URIs 中纬度、经度、海拔和不确定值的占位符。...与其他地理数据格式一样,如(KMLv2.2),提供关于敏感人物、动物、栖息地和设施的位置的详细信息可能会使它们受到未经授权的跟踪或伤害。...通过将坐标精度从小数点后 6 位提高到小数点后 15 位,一个包含许多详细多边形的 GeoJSON 文本几乎可以膨胀两倍。
地理空间数据最重要的组成部分: •地理位置 标示数据空间位置的信息,例如经纬度•主题信息 主题信息涵盖的范围广泛,可以是卫星的光谱数据,也可以是对应地理位置的统计数据如人口,面积,长度等•此外,空间索引一般也是地理空间数据的共性...,空间索引创建了一个向导,能够让软件无需扫描数据集中的每一行记录快速定位查询结果。...矢量数据只存储几何图元,包括点、线和多边形。可供选择的矢量格式数目很饿的,开源矢量库OGR支持超过86种矢量格式,FME支持超过188种矢量格式。...import json json.loads(jsdata) 此外,geojson库可以更好的支持geojson文本的解析 import geojson p=geojson.Point([-92,37]...,计算多边形的面积;计算5个单位的缓冲区分析,并计算缓冲区的面积 Fiona Fiona模块为OGR哭的数据访问功能提供了一套简洁的python api,大大提高了OGR库在python中的易用性。
import KeplerGl #创建一个KeplerGl对象 map1 = KeplerGl(height=500) #激活KeplerGl对象到jupyter的窗口中 map1 在jupyter...2.2 绘制GeoJson类型文件 geojson文件是kepler.gl中使用起来最方便的一种数据格式,因为它格式清楚,kepler.gl可以直接推理出需要执行的可视化方案,下面这个例子使用到kepler.gl...所属的github下notebooks文件下的geojson-data.json,这个geojson文件记录了位于巴黎的一个多边形的矢量信息: import keplergl with open('geojson-data.json...', 'r') as f: geojson = f.read() map_1 = keplergl.KeplerGl(height=600,data={'geojson':geojson}) map..._1 skpler.gl直接绘制出我们需要的多边形,,类似的你可以根据自己的需要创造出更多的可视化作品,下面的几个美观的可视化作品来自kepler.gl的官网: 以上就是本文的全部内容
GeoJSON 的优点是结构简单,并且得到了所有网页地图API的支持;但 GeoJSON 不支持空间索引,这个缺点可能会限制 Turf 处理大型文件的能力效率。...Turf的数据标准是WGS84经度、纬度坐标,大多数Turf函数使用GeoJSON功能,如点Point、线LineString、面PolygonTurfTurf.js库应用:点线面几何体的拓扑关系判断及运算分析...,不必多说拓扑运算分析拓扑关系及运算分析:关系描述缓冲区分析(Buffer)包含所有的点在一个指定距离内的多边形和多多边形。...如辐射范围,使用该方法凸壳分析(ConvexHull)包含几何形体的所有点的最小凸壳多边形(外包多边形)登高先交叉分析(Intersection)A∩B 交叉操作就是多边形AB中所有共同点的集合联合分析...B中但不同时在AB中的所有点的集合推荐阅读《代数拓扑\集合拓扑\代数拓扑\拓扑关系\拓扑结构_笔记》拓扑示意图turf关系分析函数turf.js关系分析函数主要在TRANSFORMATION下,api参考
"features":[],所有矢量要素都存放在这个列表中,每个要素都是一个字典,下面我们来认识一下各种矢量要素在GeoJSON中的规范格式: 点要素(Point): 对于单个点要素,其格式如下: {...(Polygon): 多边形要素记录了构成一个多边形所有边缘折点的经纬度信息,其coordinates属性传入"Polygon",其geometry下type属性格式为三维列表,其第三层列表中嵌套的所有列表记录的经纬度按顺序连接即构成了一个多边形...(MultiPolygon): 多多边形的格式为四维列表,其geometry下type属性传入"MultiPloygon",由于多多边形要素中存在几种特殊情况,下面我们在geojson.io中进行对应...对应的GeoJSON数据如下,可以看出其与多个重叠的多边形的区别在于多边形矢量信息嵌套在第二层列表中: { "type": "Feature", "properties": {}... 在2.1中我们较为详细的了解到矢量数据在GeoJSON数据中具体的表现形式,通过下面的自编函数,以Shp文件名称(去除文件拓展名)、Shp文件编码、GeoJSON文件编码为输入参数: def Shp2JSON
实现步骤 我们现在要绘制照片拍摄的密度图,大概需要这样一些步骤: 抽取照片的EXIF信息(经度,纬度,创建时间等) 编写脚本将抽取出来的信息转换成通用格式(GeoJSON) 使用QGIS将这些点的集合导入为图层...插入一些由六边形组成的图层(设置合适的大小) 计算落在各个多边形中的点的个数,并生成新的图层heatmap 使用MapServer来渲染基本地图 数据抽取 Mac上的Photos会将照片的元数据存储在一个...转换为GeoJSON 方便以后的转换起见,我们将这个文件转换成GeoJSON(其实很多客户端工具可以支持CSV的导入,不过GeoJSON更为标准一些)。 ?...其实在这个过程中,绝大多数多边形是不包含任何数据的,我们需要过滤掉这些多余的多边形,这样可以缩减绘制地图的时间。 我们可以将这个文件导入到PostGIS中进行简化: ?...同样的原理,如果将那些自己创建的多边形替换为行政区域划分的多边形,则可以得到另外一种形式的热图: ?
但是本文介绍的针对 Polygon 要素的文本标注方案,将涉及复杂的多边形难抵极运算,如果不放在 WebWorker 中运算将完全卡死无法交互。...,但是 GeoJSON 的 Polygon 要素可能由多个子多边形组成(下图中的空洞),我们需要找到多边形的 outer ring 最外层边界,以此作为目标多边形供后续应用上述难抵极算法。...GeoJSON Polygon 多边形分类 一个多边形可能由多个环组成,对于这些环首先需要进行分类:exterior ring & interior ring[5] ?...多边形中的环 分类涉及到多边形的有向面积计算,正数代表顺时针方向的 exterior ring,而负数代表逆时针方向的 interior ring: // mapbox/utils/classify_rings.js...,随后创建数据瓦片索引,这部分之前文章介绍过就不再赘述了。
领取专属 10元无门槛券
手把手带您无忧上云