ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

基于视频AI+GIS的创新实践开发了面向公安行业的二三维一体化服务公安实战应用

2021-06-30 10:02:11  阅读:207  来源: 互联网

标签:SuperMap GIS map AI 三维 公安 Filter new vectorLayer


       基于视频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("drawings");
    map.addLayer(drawings);
    draw = new SuperMap.Control.DrawFeature(drawings, SuperMap.Handler.Polygon);
    map.addControl(draw);

    function drawGeometry() {
        clearFeatures();
        draw.activate();
        draw.events.on({featureadded: drawCompleted});
    }

    function clearFeatures() {
        vectorLayer.removeAllFeatures();
        drawings.removeAllFeatures();
    }

    function addLayer() {
        map.addLayers([layer, vectorLayer]);
        map.setCenter(new SuperMap.LonLat(0, 0), 0);
    }

    function drawCompleted(event) {
        vectorLayer.filter = new SuperMap.Filter.Spatial({
            type: SuperMap.Filter.Spatial.INTERSECTS,
            value: event.feature.geometry
        });
        vectorLayer.refresh({force: true});
        vectorLayer.filter = myFilter;
        draw.deactivate();
        widgets.alert.clearAlert();
    }

    function notice() {
        widgets.alert.showAlert(resources.msg_drawPolygon, true);
    }

</script>
</body>
</html>


标签:SuperMap,GIS,map,AI,三维,公安,Filter,new,vectorLayer
来源: https://www.cnblogs.com/shengya/p/14953098.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有