JS解析shapefile并在地图加载演示
为了解决SHP文件上传过程中用户需要预览,或者shp小文件需要进行实时加载,后端解析太频繁的问题。现在可以通过HTML5的方式直接读取本地文件,将解析的二进制流按照shp 和dbf的格式读取后按照ol的规范拼装features并加载图层。
程序主要的几个点有:
- 本地文件读取:
借助H5的FileReader,可以轻松读取本地的文件(前提是在input type=file中已经加载)。
html:
<input type="file" id="shpFile"> <br>
JS:
var file=document.getElementById("shpFile");
var reader = new FileReader();
//将文件以二进制形式读入页面
reader.readAsBinaryString(file);
reader.onload=function(){
var fileData = this.result ; //fileData就是读取到的文件的二进制数据
}
** FileReader接口的方法**
readAsBinaryString | file | 将文件读取为二进制编码 |
readAsText | file,[encoding] | 将文件读取为文本 |
readAsDataURL | file | 将文件读取为DataURL |
abort | (none) | 终端读取操作 |
FileReader接口事件
FileReader接口包含了一套完整的事件模型,用于捕获读取文件时的状态。
事件 | 描述 |
onabort | 中断 |
onerror | 出错 |
onloadstart | 开始 |
onprogress | 正在读取 |
onload | 成功读取 |
onloadend | 读取完成,无论成功失败 |
- shp解析
借助开源 shapefile 的js解析库,我们可以轻松的解析shp,dbf这些数据格式。
https://github.com/mbostock/shapefile
公网demo可以参考:
http://47.98.238.202:8000/ol_extension/shapefile/
本地demo参见 index.html
相关推荐
PHP解析shapefile文件
本地上传shape 压缩包,前端解析并加载至arcgis中,下载下来直接可以跑,具体的项目详情可以移步博客观看:https://blog.csdn.net/KK_bluebule/article/details/118997455
shapefile.js包,通过file标签读取文件后,通过引用shapefile.js解析,添加到地图
世界地图的shapefile文件,适合应用于解析shapefile程序的测试
世界地图的shapefile文件,按国家级别的分类!
中国地区1:400万地图,包含省份及县市,海岸线,湖泊,水体等各种资源类型
shapefile.js可读取shp文件
此程序演示了WEB控件调用javascript,javascript调用C++ ,shapefile文件读取,并利用shapefile文件进行离线地址解析 离线地址解析为实验性功能,不保证有没有Bug. 若有任何建议,请联系crystal_day@163.com
用c++写的一个解析shapefile的小程序,对了解shapefile格式很有帮助!
gis加载天地图后,在天地图上显示内容,这些文件都是集合起来的
shapefile文件解析 .shp、.shx、.dbf 文件头及文件主体
arcgis android shapefile加载示例代码
JS2Shapefile是一个Javascript类,可直接在浏览器中创建ESRI shapefile。 它还包括几个帮助程序类,用于在不完全受支持的浏览器(Chrome以外的任何浏览器)中创建和保存二进制数据。 它由哈里·吉布森(Harry ...
全国行政区划的shapefile,供测试使用,本数据自网上下载,由本数据引发的所有问题请自行负责。
cesium 加载shp原文件 包括js
世界地图 shpfile 格式文件 很好用的
中国详细shapefile文件省市县镇村全都包括!中国详细shapefile文件省市县镇村全都包括!中国详细shapefile文件省市县镇村全都包括!
一个MFC读取shapefile并解析的源码,适合对shapefile文件解析的测试
形状文件.js 如果您在 Internet ...有一个函数shp ,它接受一个字符串,该字符串是 she shapefile 减去扩展名的路径,并返回一个解析为 geojson 的承诺。 //for the shapefiles in the folder called 'files'
用来将shapefile格式的地图数据转化为mysql格式的工具