具体功能如下:
毕业生总览以及公司分布总览:为毕业生得空间得一张图展示,图例很好得展现了各类毕业生得状态,是的数据可视化变成更加清晰明了。点击信息得展示,使得用户对数据有具体得认识。
热力图:使得数据区域密集度得到展示,对数据的区域分析有了可视化得基础。
数据统计:对数据进行表格可视化,让数据变得不再枯燥,而且一目了然,生动形象。
地图汇总:将数据,地图,统计纬度三个展示在一个纬度上,使得数据更加合理得进行展示。
毕业生管理、单位管理、用户管理:对业务数据进行录入,删除,编辑等操作。
系统地址:http://124.221.114.164:8002/index.html
代码工程结构如下:
前端页面代码:
<div class="login-logo">
<span>基于GIS的毕业去向信息管理系统</span>
</div>
<div class="login-form">
<form method="POST">
<code class="check_log_phone"></code>
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text">
<span class="fa fa-user-circle-o text-success"></span>
</span>
</div>
<input type="text" class="form-control" id="logphone" placeholder="用户名">
</div>
<code class="check_log_pwd"></code>
<div class="input-group mb-3">
<div class="input-group-prepend">
<span class="input-group-text">
<span class="fa fa-unlock text-success"></span>
</span>
</div>
<input type="password" class="form-control" id="logpwd" placeholder="密码">
</div>
<button type="button" id="login" class="btn btn-success btn-block">登录</button>
</form>
</div>
GIS代码:
map = new Map("map", {
zoom: 10,
center: [118.335869,32.261225],
showLabels: true,
logo: false
});
var tiledUrl = "https://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineCommunity/MapServer";
var TiledLayer = new esri.layers.ArcGISTiledMapServiceLayer(tiledUrl);
map.addLayer(TiledLayer);
//var layer_dian = esri.layers.GraphicsLayer();
//map.addLayer(layer_dian);
//鹰眼
var overviewMapDijit = new OverviewMap({
map: map,
attachTo: "bottom-left",
visible: true
});
overviewMapDijit.startup();
var born_r = [];
map.on("load", function (e) {
$.ajax({
type: "get",
url: '/biyeshengInfo/tongji_jiuyezhuangtai',
data: { },
async: false,
dataType: "json",
success: function (res) {
var total = 0;
for (let i = 0; i < res.length; i++) {
if (res[i].field1 == "考研") {
total = total + Number.parseInt(res[i].count);
$("#kaoyan").html(res[i].count);
} else if (res[i].field1 == "考公") {
total = total + Number.parseInt(res[i].count);
$("#kaogong").html(res[i].count);
} else if (res[i].field1 == "已就业") {
total = total + Number.parseInt(res[i].count);
$("#yijiuye").html(res[i].count);
}
}
$("#zhucerenshu").html(total);
}
});
let url_yijiuye = "img/bys_yijiuye.png";
var symbol_yijiuye = new esri.symbol.PictureMarkerSymbol(url_yijiuye, 24, 24);
let url_kaoyan = "img/bys_kaoyan.png";
var symbol_kaoyan = new esri.symbol.PictureMarkerSymbol(url_kaoyan, 24, 24);
let url_kaogong = "img/bys_kaogong.png";
var symbol_kaogong = new esri.symbol.PictureMarkerSymbol(url_kaogong, 24, 24);
$.ajax({
type: "get",
url: '/biyeshengInfo/getbiyeshengInfosAll',
data: { name: "" },
async: false,
dataType: "json",
success: function (res) {
res = res.data;
var infoTemplate = new esri.InfoTemplate("信息",
"姓名: ${name} <br/>性别: ${xingbie} <br/> " +
"毕业学校: ${biyexuexiao} <br/>就业状态: ${jiuyezhuangtai} <br/> " +
"就业因素: ${jiuyeyinsu} <br/>地域选择: ${diyuxuanze} <br/> " +
"单位名称: ${suozaigongsi} <br/>所属行业: ${hangye} <br/> " +
"薪资待遇: ${xinzidaiyu} ");
for (var i = 0; i < res.length; i++) {
var x = res[i].jingdu;
var y = res[i].weidu;
//var point = new esri.geometry.Point(x, y, new esri.SpatialReference({ wkid: 4326 }));
var point = new esri.geometry.Point(x, y, new esri.SpatialReference({ wkid: 3857 }));//初始化起点
point = webMercatorUtils.webMercatorToGeographic(point);
if (res[i].jiuyezhuangtai == "考研") {
let graphic = new esri.Graphic(point, symbol_kaoyan, res[i], infoTemplate);
born_r.push(graphic);
map.graphics.add(graphic);
} else if (res[i].jiuyezhuangtai == "已就业") {
let graphic = new esri.Graphic(point, symbol_yijiuye, res[i], infoTemplate);
born_r.push(graphic);
map.graphics.add(graphic);
} else if (res[i].jiuyezhuangtai == "考公") {
let graphic = new esri.Graphic(point, symbol_kaogong, res[i], infoTemplate);
born_r.push(graphic);
map.graphics.add(graphic);
}
}
}
});
整体页面结构: