平台基于BIM+GIS技术融合开发,支持集团、分公司、项目、工区、工点多级多项目管理。系统创新实现了基于BIM模式与传统模式的两种模式的项目管理手段,并实现了同一项目下两种模式的数据集成,兼顾了历史与革新,符合当前实际情况。将最新的BIM技术融入到业务管理过程中,为管理各方提供了安全、质量、进度、成本、文档等基于BIM技术的可视化数字化的项目管理手段,结合BIM模型技术应用,使工程项目管理技术手段更为先进。实现了GIS+BIM的多源数据融合,将宏观与微观进行结合,支持大范围复杂场景项目管理的业务需要。
构件级计量计价
以斯维尔BIM算量软件为基础,根据城市轨道工程计量计价规则,在项目管理平台中实现了量价一体化。系统创新实现了合同清单-项目计划-验工计价-周报-月报-年报的之间关键经营管理数据的分解与集成,化繁为简,实现了关键业务的数据闭环。系统实现了工点-工区-项目的多级项目管理以及项目-分公司-集团层多项目、多级别的企业级项目管理体系数据与流程互通,使工程项目管理高效、协同、智能。
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no" />
<title>ImageryTileLayer - shaded relief renderer | Sample | ArcGIS API for JavaScript 4.19</title>
<link rel="stylesheet" href="https://js.arcgis.com/4.19/esri/themes/light/main.css" />
<script src="https://js.arcgis.com/4.19/"></script>
<style>
html,
body,
#viewDiv {
padding: 0;
margin: 0;
height: 100%;
100%;
}
#rendererDiv {
padding: 10px;
280px;
}
.slider {
height: 40px;
100%;
}
</style>
<script>
require([
"esri/Map",
"esri/views/MapView",
"esri/layers/ImageryTileLayer",
"esri/renderers/RasterShadedReliefRenderer",
"esri/widgets/Slider",
"esri/widgets/Expand",
"esri/tasks/support/MultipartColorRamp"
], function(Map, MapView, ImageryTileLayer, RasterShadedReliefRenderer, Slider, Expand, MultipartColorRamp) {
// set the hillshade type for the shaded relief renderer
let hillshadeType = "traditional";
const url = "https://elevation3d.arcgis.com/arcgis/rest/services/WorldElevation3D/Terrain3D/ImageServer";
// create a colorRamp
const colorRamp = MultipartColorRamp.fromJSON({
type: "multipart",
colorRamps: [{
fromColor: [175, 240, 233],
toColor: [255, 255, 179]
}, {
fromColor: [255, 255, 179],
toColor: [0, 128, 64]
}, {
fromColor: [0, 128, 64],
toColor: [252, 186, 3]
}, {
fromColor: [252, 186, 3],
toColor: [128, 0, 0]
}, {
fromColor: [120, 0, 0],
toColor: [105, 48, 13]
}, {
fromColor: [105, 48, 13],
toColor: [171, 171, 171]
}, {
fromColor: [171, 171, 171],
toColor: [255, 252, 255]
}]
});
// set the shaded relief renderer parameters
const renderer = new RasterShadedReliefRenderer({
altitude: 45,
azimuth: 315,
hillshadeType: hillshadeType,
zFactor: 1,
scalingType: "adjusted",
colorRamp: colorRamp
});
const layer = new ImageryTileLayer({
url: url,
renderer: renderer
});
const map = new Map({
basemap: "gray-vector",
layers: [layer]
});
const view = new MapView({
container: "viewDiv",
map: map,
zoom: 7,
center: [-111.819, 37.111]
});
const expand = new Expand({
view: view,
content: document.getElementById("rendererDiv"),
expanded: true,
expandIconClass: "esri-icon-settings2"
})
view.ui.add(expand, "top-right");
// this function will be called as user adjusts
// the renderer parameters via UI
function updateRenderer() {
var renderer = layer.renderer.clone();
var bandStat = layer.rasterInfo.statistics[0];
renderer.hillshadeType = hillshadeType;
switch (hillshadeType) {
case "traditional":
renderer.zFactor = zFactorSlider.values[0];
renderer.altitude = altitudeSlider.values[0];
renderer.azimuth = azimuthSlider.values[0];
break;
case "multi-directional":
renderer.zFactor = zFactorSlider.values[0];
break;
}
layer.renderer = renderer;
}
// listen to hillshade dropdown change event and update the renderer
// to reflect the hillshade type.
const hillshadeTypeSelect = document.getElementById("hillshadeType");
hillshadeTypeSelect.addEventListener("change", function() {
if (!layer.loaded) {
return;
}
hillshadeType = hillshadeTypeSelect.value;
changeHillshadeType(hillshadeType);
});
function changeHillshadeType(hillshadeType) {
switch (hillshadeType) {
case "traditional":
document.getElementById("traditionalStuff").style = "";
break;
case "multi-directional":
document.getElementById("traditionalStuff").style = "display: none;";
break;
}
updateRenderer();
}
// listen to z factor slider's thumb change and drag events
const zFactorLabel = document.getElementById("zFactorLabel");
const zFactorSlider = new Slider({
container: "zFactor-slider",
min: 1,
max: 10,
values: [1],
steps: 1,
snapOnClickEnabled: