public bool Subscribe(string cameraCode)
        {
            RealAnalyseInfo anainfo = GetAllCrowd().Find(item => item.realAnalyseParam.realCameraInfo.szCameraID == cameraCode);

            AdpsInfo adpsinfo = GetAllEvents().Find(item => item.tEventParam.szCameraID == cameraCode && item.tEventParam.szReceiveIp == LocalIP && item.tEventParam.dwAnalyseType == (uint)E_VIDEO_ANALYZE_TYPE.E_ANALYZE_CROWD);

            if (adpsinfo != null)
            {
                return(true);
            }

            AdpsParam adps = new AdpsParam()
            {
                dwAnalyseType  = (uint)E_VIDEO_ANALYZE_TYPE.E_ANALYZE_CROWD,
                szReceiveIp    = LocalIP,
                wReceivePort   = (ushort)LocalPort,
                szServerIp     = anainfo.realAnalyseParam.szArsIp,
                wServerPort    = anainfo.realAnalyseParam.wArsPort,
                szCameraID     = anainfo.realAnalyseParam.realCameraInfo.szCameraID,
                dwTaskUnitID   = anainfo.realAnalyseParam.dwAnalysisPlanID,
                dwTaskType     = 1,
                dwStoreStyle   = 1,
                dwProtocolType = 1,
                dwMergeStyle   = 0,
            };

            return(AddEvent(adps) > 0);
        }
        public bool UpdateCrowd(RealtimeCameraInfo cam, List <System.Drawing.Point> region, float area, uint time)
        {
            bool ret = false;

            //List<CrowdCameraInfo> list = CameraManagementService.GetCamerasByGroupID(0);
            //CrowdCameraInfo cam = list.Find(item => item.CameraCode == cameraCode);
            if (cam != null)
            {
                RealAnalyseInfo info = GetAllCrowd().Find(item => item.realAnalyseParam.eAlgthmType == E_VIDEO_ANALYZE_TYPE.E_ANALYZE_CROWD && item.realAnalyseParam.realCameraInfo.szCameraID == cam.CameraID);
                if (info != null)
                {
                    SaveEvent(cam.CameraID);
                    DelCrowd(cam.CameraID);
                    uint id = AddCrowd(cam, region, area, time);
                    RecoverEvent(id);
                }
                else
                {
                    ret = false;
                }
            }
            else
            {
                ret = false;
            }


            return(ret);
        }
        public bool AddDefaultEvent(string cameraCode)
        {
            RealAnalyseInfo anainfo = GetAllBehavior().Find(item => item.realAnalyseParam.realCameraInfo.szCameraID == cameraCode);

            AdpsInfo adpsinfo = GetAllEvents().Find(item => item.tEventParam.szCameraID == cameraCode && item.tEventParam.szReceiveIp == ServerIP && item.tEventParam.dwAnalyseType == (uint)E_VIDEO_ANALYZE_TYPE.E_ANALYZE_BEHAVIOR_ALARM);

            if (adpsinfo != null)
            {
                return(true);
            }

            AdpsParam adps = new AdpsParam()
            {
                dwAnalyseType  = (uint)E_VIDEO_ANALYZE_TYPE.E_ANALYZE_BEHAVIOR_ALARM,
                szReceiveIp    = RTRISServerIP,
                wReceivePort   = (ushort)RTRISPort,
                szServerIp     = anainfo.realAnalyseParam.szArsIp,
                wServerPort    = anainfo.realAnalyseParam.wArsPort,
                szCameraID     = anainfo.realAnalyseParam.realCameraInfo.szCameraID,
                dwTaskUnitID   = anainfo.realAnalyseParam.dwAnalysisPlanID,
                dwTaskType     = 1,
                dwStoreStyle   = 1,
                dwProtocolType = 1,
                dwMergeStyle   = 0,
            };

            return(AddEvent(adps) > 0);
        }
        public bool UpdatePlate(RealtimeCameraInfo cam, List <System.Drawing.Point> region, List <DriveWayRegion> driveWayRegion,
                                List <System.Drawing.Rectangle> carPlateRegion,
                                bool noplat,
                                AccidentAlarmSubType accidentType,
                                uint carFast,
                                uint carStop,
                                uint carLow,
                                uint fluxTime)
        {
            bool ret = false;

            if (cam != null)
            {
                RealAnalyseInfo info = GetAllPlate().Find(item => item.realAnalyseParam.eAlgthmType == E_VIDEO_ANALYZE_TYPE.E_ANALYZE_CROSSROAD && item.realAnalyseParam.realCameraInfo.szCameraID == cam.CameraID);
                if (info != null)
                {
                    SaveEvent(cam.CameraID);
                    DelPlate(cam.CameraID);
                    uint id = AddPlate(cam, region, driveWayRegion, carPlateRegion, noplat, accidentType, carFast, carStop, carLow, fluxTime);
                    RecoverEvent(id);
                }
                else
                {
                    ret = false;
                }
            }
            else
            {
                ret = false;
            }


            return(ret);
        }
        public bool DelCrowd(string cameraCode)
        {
            RealAnalyseInfo info = GetAllCrowd().Find(item => item.realAnalyseParam.eAlgthmType == E_VIDEO_ANALYZE_TYPE.E_ANALYZE_CROWD && item.realAnalyseParam.realCameraInfo.szCameraID == cameraCode);
            bool            ret  = true;

            if (info != null)
            {
                ret = DelRealAnalyse(info.dwAnalysisID);
            }
            return(ret);
        }
        private void RecoverEvent(uint analyseID)
        {
            RealAnalyseInfo info = GetAllCrowd().Find(item => item.dwAnalysisID == analyseID);

            if (info != null)
            {
                foreach (var item in m_lastEvent)
                {
                    item.tEventParam.dwTaskUnitID = info.realAnalyseParam.dwAnalysisPlanID;
                    AddEvent(item.tEventParam);
                }
            }
        }
        public bool CrowdExists(string cameraCode)
        {
            RealAnalyseInfo info = GetAllCrowd().Find(item => item.realAnalyseParam.eAlgthmType == E_VIDEO_ANALYZE_TYPE.E_ANALYZE_CROWD && item.realAnalyseParam.realCameraInfo.szCameraID == cameraCode);

            return(info != null);
        }
        public bool BehaviorExists(string cameraCode)
        {
            RealAnalyseInfo info = GetAllBehavior().Find(item => item.realAnalyseParam.eAlgthmType == E_VIDEO_ANALYZE_TYPE.E_ANALYZE_BEHAVIOR_ALARM && item.realAnalyseParam.realCameraInfo.szCameraID == cameraCode);

            return(info != null);
        }
Exemple #9
0
        /*===========================================================
        *  功  能:获取实时分析信息ByNum
        *  参  数:dwLoginID - 登录ID
        *       dwMaxNum - 传入需要获取的数量
        *       pdwAnalysisNum - 返回实际得到的分析数量
        *       ptAnalysisInfo - 返回分析信息指针
        *  返回值:成功返回IASSDK_OK,失败返回错误码
        *  ===========================================================*/
        public List <RealAnalyseInfo> IasSdk_GetRTAnalysisList(UInt32 dwLoginID, UInt32 dwMaxNum)
        {
            UInt32 pdwAnalysisNum = 0;
            IntPtr ptAnalysisInfo = Marshal.AllocHGlobal((int)(Marshal.SizeOf(typeof(TIASSDK_REAL_ANALYSIS_INFO)) * dwMaxNum)); /*OUT TIASSDK_REAL_ANALYSIS_INFO * */

            MyLog4Net.ILogExtension.DebugWithDebugView(MyLog4Net.Container.Instance.Log, "IVXRealtimeSDKProtocol IasSdk_GetRTAnalysisList dwLoginID:" + dwLoginID + ",dwMaxNum:" + dwMaxNum);
            UInt32 retVal = IVXRealtimeSDKProtocol.IasSdk_GetRTAnalysisList(dwLoginID, dwMaxNum, out pdwAnalysisNum, ptAnalysisInfo);
            List <RealAnalyseInfo> infolist = new List <RealAnalyseInfo>();

            if (retVal > 0)
            {
                IAS_CheckError(retVal);
            }
            for (int i = 0; i < pdwAnalysisNum; i++)
            {
                TIASSDK_REAL_ANALYSIS_INFO temp = (TIASSDK_REAL_ANALYSIS_INFO)Marshal.PtrToStructure(ptAnalysisInfo + i * Marshal.SizeOf(typeof(TIASSDK_REAL_ANALYSIS_INFO)), typeof(TIASSDK_REAL_ANALYSIS_INFO));
                RealAnalyseInfo            info = new RealAnalyseInfo()
                {
                    dwAnalysisID          = temp.dwAnalysisID,
                    realAnalyseServerInfo = new RealAnalyseServerUnitInfo()
                    {
                        dwServerID  = temp.dwServerID,
                        szServerIp  = temp.szServerIp,
                        wServerPort = temp.wServerPort,
                        serverType  = E_IASSDK_SERVER_UNIT_TYPE.E_IASSDK_ANALYSIS_UNIT_UNKNOW,
                    },
                    realAnalyseParam = new RealAnalyseParam()
                    {
                        dwAnalysisPlanID = temp.tAnalysisParam.dwAnalysisPlanID,
                        eAlgthmType      = (E_VIDEO_ANALYZE_TYPE)temp.tAnalysisParam.eAlgthmType,
                        szAnalysisParam  = temp.tAnalysisParam.szAnalysisParam,
                        szArsIp          = temp.tAnalysisParam.szArsIp,
                        wArsPort         = temp.tAnalysisParam.wArsPort,
                        realCameraInfo   = new RealCameraInfo()
                        {
                            dwDevicePort = temp.tAnalysisParam.cNetStoreDevInfo.dwDevicePort,
                            dwDeviceType = temp.tAnalysisParam.cNetStoreDevInfo.dwDeviceType,
                            szCameraID   = temp.tAnalysisParam.szCameraID,
                            szChannelID  = temp.tAnalysisParam.cNetStoreDevInfo.szChannelID,
                            szDeviceIP   = temp.tAnalysisParam.cNetStoreDevInfo.szDeviceIP,
                            szLoginPwd   = temp.tAnalysisParam.cNetStoreDevInfo.szLoginPwd,
                            szLoginUser  = temp.tAnalysisParam.cNetStoreDevInfo.szLoginUser,
                        },
                    },
                    dwConSerialNum = temp.dwConSerialNum,
                    eStatusType    = (E_IASSDK_REAL_ANALYZE_STATUS_TYPE)temp.eStatusType,
                };
                MyLog4Net.ILogExtension.DebugWithDebugView(MyLog4Net.Container.Instance.Log, string.Format("IVXRealtimeSDKProtocol IasSdk_GetRTAnalysisList [{0}]"
                                                                                                           + ",dwAnalysisID:{1}"
                                                                                                           + ",dwServerID:{2}"
                                                                                                           + ",szServerIp:{3}"
                                                                                                           + ",wServerPort:{4}"
                                                                                                           + ",serverType:{5}"
                                                                                                           + ",dwAnalysisPlanID:{6}"
                                                                                                           + ",eAlgthmType:{7}"
                                                                                                           + ",szAnalysisParam:{8}"
                                                                                                           + ",szArsIp:{9}"
                                                                                                           + ",wArsPort:{10}"
                                                                                                           + ",dwDevicePort:{11}"
                                                                                                           + ",dwDeviceType:{12}"
                                                                                                           + ",szCameraID:{13}"
                                                                                                           + ",szChannelID:{14}"
                                                                                                           + ",szDeviceIP:{15}"
                                                                                                           + ",szLoginPwd:{16}"
                                                                                                           + ",szLoginUser:{17}"
                                                                                                           + ",dwConSerialNum:{18}"
                                                                                                           + ",eStatusType:{19}"
                                                                                                           , i
                                                                                                           , info.dwAnalysisID
                                                                                                           , info.realAnalyseServerInfo.dwServerID
                                                                                                           , info.realAnalyseServerInfo.szServerIp
                                                                                                           , info.realAnalyseServerInfo.wServerPort
                                                                                                           , info.realAnalyseServerInfo.serverType
                                                                                                           , info.realAnalyseParam.dwAnalysisPlanID
                                                                                                           , info.realAnalyseParam.eAlgthmType
                                                                                                           , info.realAnalyseParam.szAnalysisParam
                                                                                                           , info.realAnalyseParam.szArsIp
                                                                                                           , info.realAnalyseParam.wArsPort
                                                                                                           , info.realAnalyseParam.realCameraInfo.dwDevicePort
                                                                                                           , info.realAnalyseParam.realCameraInfo.dwDeviceType
                                                                                                           , info.realAnalyseParam.realCameraInfo.szCameraID
                                                                                                           , info.realAnalyseParam.realCameraInfo.szChannelID
                                                                                                           , info.realAnalyseParam.realCameraInfo.szDeviceIP
                                                                                                           , info.realAnalyseParam.realCameraInfo.szLoginPwd
                                                                                                           , info.realAnalyseParam.realCameraInfo.szLoginUser
                                                                                                           , info.dwConSerialNum
                                                                                                           , info.eStatusType
                                                                                                           ));

                infolist.Add(info);
            }
            MyLog4Net.ILogExtension.DebugWithDebugView(MyLog4Net.Container.Instance.Log, "IVXRealtimeSDKProtocol IasSdk_GetRTAnalysisList ret:" + retVal);
            return(infolist);
        }
Exemple #10
0
        /*===========================================================
        *  功  能:获取实时分析信息ByID
        *  参  数:dwLoginID - 登录ID
        *       pdwAnalysisID - 分析ID
        *       tAnalysisInfo - 返回分析信息
        *  返回值:成功返回IASSDK_OK,失败返回错误码
        *  ===========================================================*/
        public RealAnalyseInfo IasSdk_GetRTAnalysisInfoByID(UInt32 dwLoginID, UInt32 dwAnalysisID)
        {
            TIASSDK_REAL_ANALYSIS_INFO ptAnalysisInfo = new TIASSDK_REAL_ANALYSIS_INFO();

            MyLog4Net.ILogExtension.DebugWithDebugView(MyLog4Net.Container.Instance.Log, "IVXRealtimeSDKProtocol IasSdk_GetRTAnalysisInfoByID dwLoginID:" + dwLoginID + ",dwAnalysisID:" + dwAnalysisID);
            UInt32          retVal = IVXRealtimeSDKProtocol.IasSdk_GetRTAnalysisInfoByID(dwLoginID, dwAnalysisID, out ptAnalysisInfo);
            RealAnalyseInfo info   = null;

            if (retVal > 0)
            {
                IAS_CheckError(retVal);
            }

            info = new RealAnalyseInfo()
            {
                dwAnalysisID          = ptAnalysisInfo.dwAnalysisID,
                realAnalyseServerInfo = new RealAnalyseServerUnitInfo()
                {
                    dwServerID  = ptAnalysisInfo.dwServerID,
                    szServerIp  = ptAnalysisInfo.szServerIp,
                    wServerPort = ptAnalysisInfo.wServerPort,
                    serverType  = E_IASSDK_SERVER_UNIT_TYPE.E_IASSDK_ANALYSIS_UNIT_UNKNOW,
                },
                realAnalyseParam = new RealAnalyseParam()
                {
                    dwAnalysisPlanID = ptAnalysisInfo.tAnalysisParam.dwAnalysisPlanID,
                    eAlgthmType      = (E_VIDEO_ANALYZE_TYPE)ptAnalysisInfo.tAnalysisParam.eAlgthmType,
                    szAnalysisParam  = ptAnalysisInfo.tAnalysisParam.szAnalysisParam,
                    szArsIp          = ptAnalysisInfo.tAnalysisParam.szArsIp,
                    wArsPort         = ptAnalysisInfo.tAnalysisParam.wArsPort,
                    realCameraInfo   = new RealCameraInfo()
                    {
                        dwDevicePort = ptAnalysisInfo.tAnalysisParam.cNetStoreDevInfo.dwDevicePort,
                        dwDeviceType = ptAnalysisInfo.tAnalysisParam.cNetStoreDevInfo.dwDeviceType,
                        szCameraID   = ptAnalysisInfo.tAnalysisParam.szCameraID,
                        szChannelID  = ptAnalysisInfo.tAnalysisParam.cNetStoreDevInfo.szChannelID,
                        szDeviceIP   = ptAnalysisInfo.tAnalysisParam.cNetStoreDevInfo.szDeviceIP,
                        szLoginPwd   = ptAnalysisInfo.tAnalysisParam.cNetStoreDevInfo.szLoginPwd,
                        szLoginUser  = ptAnalysisInfo.tAnalysisParam.cNetStoreDevInfo.szLoginUser,
                    },
                },
                dwConSerialNum = ptAnalysisInfo.dwConSerialNum,
                eStatusType    = (E_IASSDK_REAL_ANALYZE_STATUS_TYPE)ptAnalysisInfo.eStatusType,
            };
            MyLog4Net.ILogExtension.DebugWithDebugView(MyLog4Net.Container.Instance.Log, string.Format("IVXRealtimeSDKProtocol IasSdk_GetRTAnalysisInfoByID ret:{0}"
                                                                                                       + ",dwAnalysisID:{1}"
                                                                                                       + ",dwServerID:{2}"
                                                                                                       + ",szServerIp:{3}"
                                                                                                       + ",wServerPort:{4}"
                                                                                                       + ",serverType:{5}"
                                                                                                       + ",dwAnalysisPlanID:{6}"
                                                                                                       + ",eAlgthmType:{7}"
                                                                                                       + ",szAnalysisParam:{8}"
                                                                                                       + ",szArsIp:{9}"
                                                                                                       + ",wArsPort:{10}"
                                                                                                       + ",dwDevicePort:{11}"
                                                                                                       + ",dwDeviceType:{12}"
                                                                                                       + ",szCameraID:{13}"
                                                                                                       + ",szChannelID:{14}"
                                                                                                       + ",szDeviceIP:{15}"
                                                                                                       + ",szLoginPwd:{16}"
                                                                                                       + ",szLoginUser:{17}"
                                                                                                       + ",dwConSerialNum:{18}"
                                                                                                       + ",eStatusType:{19}"
                                                                                                       , retVal
                                                                                                       , info.dwAnalysisID
                                                                                                       , info.realAnalyseServerInfo.dwServerID
                                                                                                       , info.realAnalyseServerInfo.szServerIp
                                                                                                       , info.realAnalyseServerInfo.wServerPort
                                                                                                       , info.realAnalyseServerInfo.serverType
                                                                                                       , info.realAnalyseParam.dwAnalysisPlanID
                                                                                                       , info.realAnalyseParam.eAlgthmType
                                                                                                       , info.realAnalyseParam.szAnalysisParam
                                                                                                       , info.realAnalyseParam.szArsIp
                                                                                                       , info.realAnalyseParam.wArsPort
                                                                                                       , info.realAnalyseParam.realCameraInfo.dwDevicePort
                                                                                                       , info.realAnalyseParam.realCameraInfo.dwDeviceType
                                                                                                       , info.realAnalyseParam.realCameraInfo.szCameraID
                                                                                                       , info.realAnalyseParam.realCameraInfo.szChannelID
                                                                                                       , info.realAnalyseParam.realCameraInfo.szDeviceIP
                                                                                                       , info.realAnalyseParam.realCameraInfo.szLoginPwd
                                                                                                       , info.realAnalyseParam.realCameraInfo.szLoginUser
                                                                                                       , info.dwConSerialNum
                                                                                                       , info.eStatusType
                                                                                                       ));

            return(info);
        }