新浪博客好长时间不能发博客了,以后就以这个公众号为主,和大家交流学习。
上篇博文介绍使用shp.js工具读取shp文件:GIS基础-工具篇02-js读取.shp文件。
里面获取文件的方式是从服务器下载shp文件,不符合前端打开本地shp文件的要求,于是对代码稍加修改。
利用input标签打开本地文件,然后再利用.shp解析:
function openfile(obj) {
if (obj.files) { } else {
;
return;
}
var file = obj.files[0];
var reader = new FileReader();
reader.onload = function (e) {
//e.target.result;
//var buffer = new ArrayBuffer(e.target.result);
SHPParser.loadArrayBuffer(e.target.result,
function (res) {
console.log('ok', res);
context.clearRect(0, 0,canvas.width, canvas.height);
for (var i = 0; i
var points =res.records[i].shape.content.points;
//绘制每一个折线
context.beginPath();
context.moveTo(4.0 *points[0], 2.0 * (180.0 - 2.0 * points[1]));
for (var j = 1; j
context.lineTo(4.0 *points[j * 2], 2.0 * (180.0 - 2.0 * points[j * 2 + 1]));
}
//绘制
context.stroke();
}
if (ob