项目介绍
- 百度bd09坐标系、gcj02和wgs84坐标互转;
- 结果展示;
- 经纬度平面坐标互转(proj4)
- 项目启动
npm install
npm start
- 该项目nodejs编写,可支持Get和Post请求
- 需要郑重声明,bd09,gcj02,wgs84互转并不算坐标系转换,合理地表达应为--纠偏和解码校正,三者wkid同为4326,属于同一坐标系;proj4所做工作为不同坐标系的互转,比如:西安80坐标系转北京54坐标系,或者转WGS84坐标系。之前很多同事在这块有些迷惑,在此解答一下。
使用方法
- 百度转火星坐标系请求,参数 http://localhost:3000/transRequest/BD09ToGCJ02?lon=104.081529&lat=30.607295
- 火星转WGS84 http://localhost:3000/transRequest/GCJ02ToWGS84?lon=104.081529&lat=30.607295
- 百度转WGS84 http://localhost:3000/transRequest/BD09ToWGS84?lon=104.081529&lat=30.607295
- WGS84转火星 http://localhost:3000/transRequest/WGS84ToGCJ02?lon=104.081529&lat=30.607295
- WGS84转百度 http://localhost:3000/transRequest/WGS84ToBD09?lon=104.081529&lat=30.607295
- proj4坐标系转换 http://localhost:3000/transRequest/proj4Transform?fromWkid=4326&toWkid=3857&coordinate=104.0790005,30.60972
- 成功结果展示
{
"code":"0",
"msg":"操作成功",
"data":{
"x":11586021.337932866,
"y":3582166.908020966,
"wkid":"3857"
}
}
项目完成功能
- 文件上传;
- 文件读写;
- 查询结果excel导出;
- 文件读取结果展示;
- 百度bd09坐标系、gcj02和wgs84坐标互转;
- nodejs request GET和POST方式请求处理。
项目剩余优化
- 数据文件上传,数据入库;
- 数据库选型,初步决定采用mysql,也可使用mongodb(本人不太熟悉),oracle太过于笨重和复杂;
- nodejs进行数据的查询和数据服务接口开发和调试;
- 前端调用nodejs数据接口,数据的展示;
- 前端样式优化;
- 系统的代码优化和扩展性维护;
- 查询结果excel导出优化。
- 界面优化
项目bug剩余
-
本地文件上传,完整路径获取,暂时写死一个文件路径,后续修改;
//此处'/url'应与angular发送的路由一致, router.post('/uploadFiles', multipartMiddleware, function(req, res, next) { var profile_image = req.files.file; var tmp_path = profile_image.path; //此处为页面图片存放的地址,在C盘的临时文件夹temp下。 var dirpath = path.join(__dirname, '../testFile'); if (!fs.existsSync(dirpath)) { fs.mkdirSync(dirpath); } var filePath = path.join(__dirname, '../testFile/' + profile_image.name); //此处'./url'为上传的文件希望存放的地址.可以为绝对地址 tmp_path = "d:\\data.json"; //跨域传递文件 var is = fs.createReadStream(tmp_path); var os = fs.createWriteStream(filePath); is.pipe(os); is.on('end', function() { fs.unlinkSync(tmp_path); }); //跨域传递文件 //-----------此处可以写点传递回前台的数据 --------此处不完整,不能完全照搬。如果写全的话,太麻烦。 });
其他网站坐标转换链接