不论是基于tomcat部署geoserver,还是直接安装geoserver的二进制文件,都需要Java环境,geoserver可以运行在Java8和Java11的环境下,这里以安装Java8为例:
Java8的安装包在这里
单击下载即可
运行Java8安装文件,默认安装即可
在安装结束后需要设置环境变量JAVA_HOME
注意这里安装的是JDK不是JRE,JRE全称Java runtime environment,是Java程序的运行环境,JDK是Java Development Kit ,包括了JRE,理论上这里只用安装JRE即可,但也可以安装JDK
这里以安装tomcat9为例子
根据实际情况选择安装包,一般都是64位的
解压tomcat安装包,并移动到合适的位置,这里我安装在D盘,所以只需要把解压得到的文件夹复制到D盘即可
配置tomcat的初始用户名和密码
打开conf目录下的tomcat-users.xml
将这部分内容解除注释,并修改password
启动tomcat:运行bin目录下的startup.bat
浏览器输入:localhost:8080,出现下图表示tomcat启动成功
点击Manager App,输入设置的用户名和密码,登录tomcat的App管理界面
这里是基于tomcat部署geoserver,所以需要下载geoserver的**war安装包**
解压安装包,得到如下文件
将geoserver.war复制到下图所示目录
登录到tomcat App管理页面,tomcat会自动解析geoserver.war文件,并生成geoserver目录,在管理页面启动该项目即可
浏览器输入http://localhost:8080/geoserver,默认用户名和密码admin,geoserver
打开tomcat geoserver WEB-INF目录下的web.xml文件
取消以下两处注释即可(独立于tomcat的geoserver跨域配置与此不同)
重点需要以json格式返回WFS服务的结果
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Ceisum加载WFStitle>
<script src="./Cesium/Cesium.js">script>
<link rel="stylesheet" href="./Cesium/Widgets/widgets.css" />
<style>
html,
body {
padding: 0px;
margin: 0px;
}
style>
head>
<body>
<div id="viewer">div>
body>
<script type="text/javascript">
Cesium.Ion.defaultAccessToken =
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJkNzgzNDM4Mi1jNTBiLTRlZGItODI2YS00Yjk0YTA4ODRhN2EiLCJpZCI6OTQwNDQsImlhdCI6MTY1Mjc1MjMwNn0.6GMZLHPBuW4TK9jzJnGASLTyO8Dw37FcrPjludogsX8";
let viewer = new Cesium.Viewer("viewer", {
animation: false,
timeline: false,
});
let ChinaGeoJson = Cesium.GeoJsonDataSource.load(
"http://localhost:8080/geoserver/cesium/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=cesium%3AChina&maxFeatures=50&outputFormat=application%2Fjson",
{
stroke: Cesium.Color.HOTPINK,
fill: Cesium.Color.PINK,
strokeWidth: 3,
markerSymbol: "?",
}
);
ChinaGeoJson.then((v) => {
console.log(v);
}).catch((reason) => {
console.log(reason);
});
viewer.dataSources.add(ChinaGeoJson);
script>
html>