From 0da452293f15be019bf23923148691ca133e43b0 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 23 六月 2022 10:14:56 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/wvp-28181-2.0' into wvp-28181-2.0
---
src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java | 30 +++++++++++++++++++++++++++++-
1 files changed, 29 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java b/src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java
index 2caab0f..5ada1e4 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java
@@ -2,6 +2,7 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
+import com.genersoft.iot.vmp.gb28181.bean.Device;
import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel;
import org.dom4j.Attribute;
import org.dom4j.Document;
@@ -180,7 +181,7 @@
return xml.getRootElement();
}
- public static DeviceChannel channelContentHander(Element itemDevice){
+ public static DeviceChannel channelContentHander(Element itemDevice, Device device){
Element channdelNameElement = itemDevice.element("Name");
String channelName = channdelNameElement != null ? channdelNameElement.getTextTrim().toString() : "";
Element statusElement = itemDevice.element("Status");
@@ -254,6 +255,8 @@
}else if (deviceChannel.getChannelId().length() == 20) {
if (Integer.parseInt(deviceChannel.getChannelId().substring(10, 13)) == 216) { // 铏氭嫙缁勭粐
deviceChannel.setParentId(businessGroupID);
+ }else if (Integer.parseInt(device.getDeviceId().substring(10, 13) )== 118) {//NVR 濡傛灉涓婄骇璁惧缂栧彿鏄疦VR鍒欑洿鎺ュ皢NVR鐨勭紪鍙疯缃粰閫氶亾鐨勪笂绾х紪鍙�
+ deviceChannel.setParentId(device.getDeviceId());
}else if (deviceChannel.getCivilCode() != null) {
// 璁惧锛� 鏃爌arentId鐨�20浣嶆槸浣跨敤CivilCode琛ㄧず涓婄骇鐨勮澶囷紝
// 娉細215 涓氬姟鍒嗙粍鏄渶瑕佹湁parentId鐨�
@@ -308,6 +311,31 @@
} else {
deviceChannel.setLatitude(0.00);
}
+ if (deviceChannel.getLongitude()*deviceChannel.getLatitude() > 0) {
+ if ("WGS84".equals(device.getGeoCoordSys())) {
+ deviceChannel.setLongitudeWgs84(deviceChannel.getLongitude());
+ deviceChannel.setLatitudeWgs84(deviceChannel.getLatitude());
+ Double[] position = Coordtransform.WGS84ToGCJ02(deviceChannel.getLongitude(), deviceChannel.getLatitude());
+ deviceChannel.setLongitudeGcj02(position[0]);
+ deviceChannel.setLatitudeGcj02(position[1]);
+ }else if ("GCJ02".equals(device.getGeoCoordSys())) {
+ deviceChannel.setLongitudeGcj02(deviceChannel.getLongitude());
+ deviceChannel.setLatitudeGcj02(deviceChannel.getLatitude());
+ Double[] position = Coordtransform.GCJ02ToWGS84(deviceChannel.getLongitude(), deviceChannel.getLatitude());
+ deviceChannel.setLongitudeWgs84(position[0]);
+ deviceChannel.setLatitudeWgs84(position[1]);
+ }else {
+ deviceChannel.setLongitudeGcj02(0.00);
+ deviceChannel.setLatitudeGcj02(0.00);
+ deviceChannel.setLongitudeWgs84(0.00);
+ deviceChannel.setLatitudeWgs84(0.00);
+ }
+ }else {
+ deviceChannel.setLongitudeGcj02(deviceChannel.getLongitude());
+ deviceChannel.setLatitudeGcj02(deviceChannel.getLatitude());
+ deviceChannel.setLongitudeWgs84(deviceChannel.getLongitude());
+ deviceChannel.setLatitudeWgs84(deviceChannel.getLatitude());
+ }
if (XmlUtil.getText(itemDevice, "PTZType") == null || "".equals(XmlUtil.getText(itemDevice, "PTZType"))) {
//鍏煎INFO涓殑淇℃伅
Element info = itemDevice.element("Info");
--
Gitblit v1.8.0