什么是GeoJSON?
GeoJSON
来源地址:https://segmentfault.com/a/1190000015104965
什么是GeoJSON?
使用mapbox不得不先了解以下GeoJSON格式规范,首先po个对比,
使用第1,2个库时,我们渲染多个坐标点可能是这样的,使用类似 的组件通过数组遍历并渲染,一个点需要一个
//数据
const data = [{coordinate:[100.0, 0.0]]},{coordinate:[101.0, 1.0]]},{coordinate:[100.1, 1.0]]},{coordinate:[101.1, 0.0]]},
]
//组件
<MapView>{data.map(marker=>{return (<Marker...propscoordinate={marker.coordinate}/>)})}
</MapView>
使用mapbox-gl时思想完全变了,
这里先不急介绍组件的用法,可以轻易看出没有了数组的循环遍历
//数据
const geoJSON = {"type": "FeatureCollection","features": [{"type": "Feature","id": "id0","geometry": {"type": "MultiPoint","coordinates":[[100.0, 0.0], [101.0, 1.0],[100.0, 1.0], [101.0, 0.0],...]}}]
}
//组件
<MapboxGL.ShapeSource shape={geoJSON}><MapboxGL.SymbolLayer style={[styles.mark, {textField: '{text}',iconImage : '{icon}'}]}/>
</MapboxGL.ShapeSource>
GeoJSON文档
GeoJSON是基于JavaScript 对象表示法的地理空间信息数据交换格式
GeoJSON文档地址
GeoJSON解构
type基础类型
Point
LineString
Polygon
MultiPoint
MultiLineString
MultiPolygon
{"type":'几何形状的类型',"coordinates":[] //坐标点
}
Multipart geometries
type高级类型
GeometryCollection
点、线、面的集合
{"type": "GeometryCollection","geometries": [{"type": "Point","coordinates": [100.0, 0.0]},{"type": "LineString","coordinates": [[101.0, 0.0], [102.0, 1.0]]}]
}
Feature
GeometryCollection基础上可添加最标点的属性properties
{"type": "Feature","geometry": {"type": "LineString","coordinates": [[100.0, 0.0], [101.0, 1.0]]},"properties": {"prop0": "value0","prop1": "value1"}
}
geometry内可以使用"GeometryCollection"
{"type": "Feature","geometry": {"type": "GeometryCollection","geometries": [{"type": "Point","coordinates": [100.0, 0.0]},{"type": "LineString","coordinates": [[101.0, 0.0], [102.0, 1.0]]}]},"properties": {"prop0": "value0","prop1": "value1"}
}
FeatureCollection
Feature集合
{"type": "FeatureCollection","features": [{"type": "Feature","id": "id0","geometry": {"type": "LineString","coordinates": [[102.0, 0.0], [103.0, 1.0], [104.0, 0.0], [105.0, 1.0]]},"properties": {"prop0": "value0","prop1": "value1"}},{"type": "Feature","id": "id1","geometry": {"type": "Polygon","coordinates": [[[100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0]]]},"properties": {"prop0": "value0","prop1": "value1"}}]
}
properties
样式集合
geojson.io
crs
坐标参考规则:地球坐标,火星坐标
"crs": {"type": "EPSG","properties": { "code": 4326,"coordinate_order": [1, 0]}
}
注意:要使用GeoJSON,就必须抛开之前的靠大量DOM渲染思想,这在理解上会成为绊脚石,我之前就困扰了很久
GeoJSON在线生成工具
http://geojson.io
案例
https://github.com/1uokun/rea…
什么是GeoJSON?相关推荐
- 使用GeoServer导出地图数据GeoJSON并应用
在项目中,需要使用乡镇街道的地图边界,之前一直使用的是百度地图或Echarts地图,其没有这部分行政区的数据,需要在第三方购买数据,其提供的是shp文件 主文件:counties.shp 索引文件:c ...
- IDEA Java解析GeoJson.json文件
IDEA Java解析GeoJson.json文件 一.遇到的问题 1. 无法导入成功 2. org.geotools.StyleFactory is not an ImageIO SPI class ...
- 升级 | Fastjson 1.2.68 发布,支持 GEOJSON
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | oschina 来源 | https://ww ...
- geojson地图_ThingJS的三维城市地图搭建逻辑解析
一个城市越智慧,综合竞争力越强,面向用户的可视化更是必不可少,ThingJS的三维城市地图搭建工具应运而生. Citybuilder是ThingJS旗下三维地图城市搭建工具,使用Citybuilder ...
- java 使用gdal_java-gdal实现shp转geojson
安装gdal的话,将shp转geojson会非常简单.本文因项目需要,以java-gdal讲述如何实现.ps:当然只要装有gdal就都可以实现功能. ogr2ogr命令 在控制台执行如下语句: D:\ ...
- geojson地图_PowerBI地图应用之形状地图
PowerBI中有一个隐藏的图表,那就是形状地图.在使用这个功能之前需要先将其开启,然后才能使用. 开启形状地图 依次点击"文件"."选项",弹出"选 ...
- dxf geojson 转换_将Geopandas中geojson文件的linestring转换为polygon
我有dxf格式的以下CAD文件,它以autocad显示,如下所示: 我用gdalorg2org将它转换成geojson格式的文件,名为test.geojson,但都是type: LineString{ ...
- Android中使用WebChromeClient显示Openlayers加载本地GeoJson文件显示地图(跨域问题解决)
场景 Openlayers中加载GeoJson文件显示地图: Openlayers中加载GeoJson文件显示地图_BADAO_LIUMANG_QIZHI的博客-CSDN博客 上面加载显示GeoJso ...
- 用shp制作geoJson格式地图数据(shp convert to geoJson)
本文紧接前文,简单说明利用shp数据制作Echarts支持的geoJson格式的地图数据.本文以北京市通州区各镇的shp数据为例进行说明. 今天是香港回归20周年之际,在这个特殊的日子,祝愿祖国繁荣昌 ...
- Json 与GeoJson
1.JSON介绍 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.简单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后 ...
最新文章
- 统计学习方法|逻辑斯蒂原理剖析及实现
- SQL性能--left join和inner join的运行速度与效率
- PHP+MYSQL的OA为何没有Java的值钱?
- 如何设计企业内部的数据平台?
- 软考备战系列一----软件测试基础
- 2021牛客暑期多校训练营4 H-Convolution(数学)
- python 片段_python片段程序
- javascript中alert函数的替代方案,一个自定义的对话框的方法
- linux 容器_Linux容器如何演变
- 生成交叉表的简单通用存储过程
- 网易云Api,轻松获取音乐数据
- 【CSS】关键字 -webkit-fill-available 详解
- mysql之my.cnf
- django 改端口_django更改默认的runserver端口
- 【故障检测】基于 KPCA 的故障检测【T2 和 Q 统计指数的可视化】(Matlab代码实现)
- android图片压缩工具类
- H5 微信授权登录功能实现
- IDEA settings.xml 阿里云配置备份
- ASA 5520 内网互访实验
- SQL 对WITH CHECK OPTION的理解