毕设(⼀):基于WebGL(Cesium+MongoDB+NodeJS)下
的三维城市室内外。。。
系列⽂章⽬录
毕设(⼀):基于WebGL(Cesium+MongoDB+NodeJS)下的三维城市室内外场景可视化+属性管理
⽂章⽬录
前⾔
最近在学习WebGIS,想起以前本科毕设做的就是WebGIS相关的东西,所以准备好好整理⼀下,从熟悉的东西⼊⼿可能效果⽐较好。本科毕设是基于Cesium开源库进⾏的⼆次开发,最后的实现效果⼤致是在浏览器Cesium端显⽰室内外三维场景,并能进⾏场景对象的属性管理(增、删、查、改)。今天开始这个系列⽂章的第⼀篇,主要讲软件安装、环境配置和项⽬创建等,⽐较基础,但是很久不⽤确实也忘得差不多了,值得好好回顾⼀下。就先从这⾥开始吧。
⼀、前期准备
1.需要安装配置的软件:Cesium、NodeJS、MongoDB数据库、NoSQLBooster for MongoDB。
2.需要使⽤的NodeJS⼯具模块:express(快捷搭建服务器)和mongoose(快捷操作MongoDB)模块。
下⾯具体说⼀下NodeJS中两个⼯具模块的安装。
成功安装好NodeJS后,已经⼀并安装好npm(⽤于安装express和mongoose等⼯具模块)。
npm使⽤⽅法如下:在控制台进⼊想要创建⽂件夹的根⽬录(或在根⽬录下按住“Shift”按钮点击⿏标右键,进⼊PowerShell),输⼊命令:npm install。该命令⽤于安装依赖(模块)。这时⼯程⽂件下会多出⼀个名为“node_modules”的⽂件夹,⾥⾯包含有许多常⽤的模块,包括我们需要的express。
以下⼏个重要的模块是需要与 express 框架⼀起安装的:
body-parser - node.js 中间件,⽤于处理 JSON, Raw, Text 和 URL 编码的数据。
cookie-parser - 这就是⼀个解析Cookie的⼯具。通过kies可以取到传过来的cookie,并把它们转成对象。
multer - node.js 中间件,⽤于处理 enctype="multipart/form-data"(设置表单的MIME编码)的表单数据。
安装⽅式为输⼊命令:npm install 模块名。现在继续安装mongoose,输⼊命令:npm install mongoose。安装成功后可以
在“node_modules”⽂件夹⾥看到对应的⽂件。
⼆、创建express⼯程项⽬
1.项⽬创建
在控制台进⼊想要创建⽂件夹的根⽬录(或在根⽬录下按住“Shift”按钮点击⿏标右键,进⼊PowerShel
l),输⼊命令:express myProject。myProject为项⽬名,可以⾃⼰修改。因为要⽤到Cesium服务,所以最好就直接建在Cesium安装⽬录下的某个⽂件夹⾥。
输⼊上述命令并回车后,控制台会出现下⾯的内容:
此时在根⽬录“C:\apps\Cesium-1.55\Samples”下已经出现了⼀个名为“myProject”的express⼯程⽂件了。⾥⾯的内容有这些:
为了⽅便⼯程⽂件的打包和转移,我把“node_modules”⽂件夹复制在了⼯程项⽬根⽬录下,如下:
2.启动服务
现在我们来测试⼀下项⽬是否能正常启动,第⼀个项⽬还是从最基础的“Hello World”开始。
打开app.js⽂件,删除⾥⾯的内容,复制以下内容:
var express = require('express');
nodejs工作流引擎开源
var app = express();
<('/', function (req, res) {
res.send('Hello World');
})
var server = app.listen(8081, function () {
var port = server.address().port
console.log("应⽤实例,访问地址为 localhost:%d/", port)
})
控制台进⼊根⽬录,输⼊命令:node app.js。可以得到以下输出结果:
注意,控制台界⾯要⼀直保持连接,否则输⼊⽹址就⽆法打开界⾯。如果要关闭连接,在控制台按住“Ctrl+C”就⾏。
总结
下⾯总结⼀下本⽂的⼯作:
1.安装Cesium、NodeJS、MongoDB数据库、NoSQLBooster for MongoDB;
2.配置NodeJS、MongoDB数据库环境;
3.npm安装依赖;
4.创建⼀个express项⽬;
5.修改app.js代码,并启动服务,进⼊浏览器界⾯。
项⽬创建好也能启动服务了,但我们是在Cesium框架下进⾏⼆次开发,需要使⽤Cesium的服务,如何同时启动Cesuim和项⽬服务呢?下⼀篇⽂章我们将继续讨论这个问题。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。