基於視訊AI+GIS的創新實踐開發了面向公安行業的二三維一體化服務公安實戰應用
阿新 • • 發佈:2021-06-30
基於視訊AI+GIS的創新實踐開發了面向公安行業的二三維一體化服務公安實戰應用。二三維一體化服務公安實戰應用是以“雪亮工程”為背景,把治安防範措施延伸到群眾身邊,發動社會力量和廣大群眾共同監看視訊監控,共同參與治安防範,從而真正實現治安防控“全覆蓋、無死角”。在這套系統中,視訊AI與二三維GIS應用充分結合,實現了基於二三維地圖的視訊AI解析、視訊影象智慧預警、三維融合實景指揮排程。
(1)視訊AI解析應用
在GIS地圖上,基於視訊AI解析應用,實現人員資訊、車輛資訊、探頭資訊、建築資訊的自動識別和上圖。人員資訊主要識別其臉部特徵、體貌特徵、姿態、狀態、著裝顏色、紋理、體型、膚色、髮型等。車輛資訊主要識別車牌號、顏色、車輛型別、品牌、行駛速度、方向、貼膜顏色、改裝標誌、經過時刻、道路等。探頭資訊主要對攝像頭點位資訊進行上圖、實現短視距、最長視距、平均視距、二維可視域、三維可視域等。建築資訊主要識別提取其建築物特徵、建築物內各層、各房間屬性資訊、建築物窗戶等。
(2)視訊影象智慧預警
基於視訊AI解析應用結果,結合二三維GIS地圖,實現人員資訊、車輛資訊、探頭資訊的圖上實時預警、預警資訊查詢、以及預警資訊的統計分析。
(3)三維融合實景指揮排程
三維融合實景指揮排程基於三維GIS實現指揮排程、預案管理、資訊統計、綜合預警等功能,為日常勤務、重大任務提供可視、直觀的決策環境,大大提高作戰效率與輔助決策水平。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title data-i18n="resources.title_queryByWFS"></title>
<style type="text/css">
.editPane {
position: absolute;
right: 50px;
top: 50px;
text-align: center;
background: #FFF;
display: inline-block;
z-index: 1000;
}
</style>
</head>
<body style=" margin: 0;overflow: hidden;background: #fff;width: 100%;height:100%;position: absolute;top: 0;">
<div class='panel panel-primary editPane' id='editPane' style="z-index: 99999">
<div class='panel-heading'>
<h5 class='panel-title text-center' data-i18n="resources.text_queryByWFS"></h5>
</div>
<div class='panel-body' id='params'>
<p></p>
<div align='center' class='button-group'>
<input type='button' id='btn1' class='btn btn-primary' data-i18n="[value]resources.btn_polygon" onclick="drawGeometry()"/>
<input type='button' id='btn2' class='btn btn-primary' data-i18n="[value]resources.text_input_value_clear" onclick="clearFeatures()"/>
</div>
</div>
</div>
<div id="map" style="margin:0 auto;width: 100%;height: 100%"></div>
<script type="text/javascript" include="bootstrap,widgets.alert" src="../js/include-web.js"></script>
<script type="text/javascript" exclude="iclient-classic" src="../../dist/classic/include-classic.js"></script>
<script type="text/javascript">
var map, layer, vectorLayer, vectorLayer, vector_style, vector_style_select, myFilter, drawings = null, draw = null,
host = window.isLocal ? window.server : "https://iserver.supermap.io",
url = host + "/iserver/services/map-world/rest/maps/World",
url2 = host + "/iserver/services/data-world/wfs100";
map = new SuperMap.Map("map", {
controls: [
new SuperMap.Control.LayerSwitcher(),
new SuperMap.Control.ScaleLine(),
new SuperMap.Control.Zoom(),
new SuperMap.Control.Navigation({
dragPanOptions: {
enableKinetic: true
}
})]
}, notice());
layer = new SuperMap.Layer.TiledDynamicRESTLayer("World", url, {
transparent: true,
cacheEnabled: true
}, {maxResolution: "auto"});
vector_style = new SuperMap.Style({
fillColor: '#669933',
fillOpacity: 0.8,
pointRadius: 8,
strokeColor: '#aaee77',
strokeWidth: 3
});
vector_style_select = new SuperMap.Style({
fillColor: '#000',
fillOpacity: 0.9,
fontColor: '#232323',
strokeColor: '#ffffff'
});
myFilter = new SuperMap.Filter.Comparison({
type: SuperMap.Filter.Comparison.EQUAL_TO,
property: "CAPITAL",
value: ""
});
vectorLayer = new SuperMap.Layer.Vector("World Capitals", {
strategies: [new SuperMap.Strategy.BBOX()],
protocol: new SuperMap.Protocol.WFS({
version: "1.0.0",
url: url2,
featureType: "Capitals",
featureNS: "http://www.supermap.com/World",
featurePrefix: "World",
geometryName: "the_geom"
//類似的ArcGIS請求引數設定(已驗證返回資料)
//version:"1.0.0",
//url:"http://localhost:6080/arcgis/services/SampleWorldCities/MapServer/WFSServer",
//featureType:"cities",
//featureNS:"http://localhost:6080/arcgis/services/SampleWorldCities/MapServer/WFSServer",
//featurePrefix:"SampleWorldCities",
//geometryName:"shape"
}),
//filter使用方式一:
//filter: new SuperMap.Filter.Logical({
// type: SuperMap.Filter.Logical.AND,
// filters: [
// new SuperMap.Filter.Comparison({
// type: SuperMap.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO,
// property: "SMID",
// value: "50"
// }),
// new SuperMap.Filter.Comparison({
// type: SuperMap.Filter.Comparison.LESS_THAN_OR_EQUAL_TO,
// property: "SMID",
// value: "60"
// })
// ]
//}),
//filter使用方式二:
filter: myFilter,
styleMap: new SuperMap.StyleMap({
'default': vector_style,
'select': vector_style_select
})
});
var select_feature_control = new SuperMap.Control.SelectFeature(vectorLayer);
map.addControl(select_feature_control);
select_feature_control.activate();
layer.events.on({"layerInitialized": addLayer});
//空間查詢
drawings = new SuperMap.Layer.Vector(