package tbDataModel_Dell;
|
import java.util.Iterator;
|
import java.util.List;
|
import java.util.Vector;
|
import ColorAndFont.ChooseColor;
|
import DataBase.DatabaseManagement;
|
import home.Open_soft_dialog;
|
import tbDataModel.PolygonNew;
|
@SuppressWarnings("rawtypes")
|
public class Dell_Polygon {
|
|
/**ËùÓжà±ßÐÎÇøÓò¼¯ºÏ*/
|
static Vector<PolygonNew> polyVec=new Vector<PolygonNew>();
|
static String id="";
|
/**»ñÈ¡ËùÓеÄΧÀ¸¶ÔÏó*/
|
static{
|
Open_soft_dialog.addara("¼ÓÔØtb_fence");
|
Iterator iterator = DatabaseManagement.get_alldate_indatabase("tb_fence").iterator();//´´½¨µü´úÆ÷
|
while (iterator.hasNext()) {//µü´úÆ÷´æÔÚÔªËØ
|
List info = (List) iterator.next();//½«µü´úÆ÷ÀïÃæµÄÔªËØ¸øµ½info¼¯ºÏ
|
id= (String) info.get(0);
|
String floor=(String)info.get(1);
|
String type=(String)info.get(2);
|
String bumen=(String)info.get(3);
|
String name=(String)info.get(4);
|
String zuobiao=(String)info.get(5);
|
String shape=(String)info.get(6);
|
String start=(String)info.get(7);
|
String stop=(String)info.get(8);
|
String yanse=(String)info.get(10);
|
String allFloor=(String)info.get(20);//2023.08.21 zsh ¶ÔËùÓÐͼ²ãÉúЧ
|
add_a_fence_tomap(floor,type,bumen,name,zuobiao,shape,start,stop,yanse,allFloor);
|
}
|
}
|
|
/**ɾ³ý¼¯ºÏÖеÄij¸öΧÀ¸¶ÔÏó*/
|
public static void delete_a_PolygonNew(String name) {
|
if( found(name) !=null) {
|
polyVec.remove(found(name));
|
}
|
|
}
|
|
/**ÔÚµØÍ¼Ò³ÃæÔö¼ÓÒ»¸öΧÀ¸*/
|
public static void add_a_fence_tomap(String floor,String type,String bumen,String name,
|
String zuobiao,String shape,String start,String stop,String yanse,String allFloor) {
|
if(found(name) !=null) {
|
return;
|
}
|
PolygonNew poly=new PolygonNew();
|
poly.setId(id);
|
poly.setFloor(floor);
|
poly.settype(type);
|
poly.setBumen(bumen);
|
poly.setName(name);
|
poly.setShape(shape);
|
poly.setStart(start);
|
poly.setStop(stop);
|
poly.setAllFloor(allFloor);//¶ÔËùÓÐͼ²ãÉúЧ
|
if(shape.equals("¾ØÐÎ")) {
|
double[] x=new double[2];
|
double[] y=new double[2];
|
String[] zb=zuobiao.split("\\,");//ÒÔ¡°£¬¡±·Ö¸î×Ö·û´®
|
x[0]=Double.parseDouble(zb[0]);
|
y[0]=Double.parseDouble(zb[1]);
|
x[1]=Double.parseDouble(zb[2])-Double.parseDouble(zb[0]);
|
y[1]=Double.parseDouble(zb[3])-Double.parseDouble(zb[1]);
|
poly.setX(x);
|
poly.setY(y);
|
}else if(shape.equals("¶à±ßÐÎ")) {
|
//987,447;1548,576;1458,1203;1065,1197;939,735;987,447
|
String[] xy_s=zuobiao.split("\\;");//ÒÔ¡°;¡±·Ö¸î×Ö·û´®´Ó¶ø»ñµÃÿ¸öµã×ø±ê
|
double[] x=new double[xy_s.length];
|
double[] y=new double[xy_s.length];
|
for(int i=0;i<xy_s.length;i++) {
|
String zbxy=xy_s[i];
|
String[] xy=zbxy.split("\\,");//ÒÔ¡°,¡±·Ö¸î×Ö·û´®´Ó¶ø»ñµÃÿ¸öµãµÄxºÍy
|
x[i]=Double.parseDouble(xy[0]);
|
y[i]=Double.parseDouble(xy[1]);
|
}
|
poly.setX(x);
|
poly.setY(y);
|
}else if(shape.equals("Ô²ÐÎ")) {
|
String[] zb=zuobiao.split("\\,");//ÒÔ¡°£¬¡±·Ö¸î×Ö·û´®
|
double[] x=new double[1];
|
double[] y=new double[1];
|
double[] bj=new double[1];
|
x[0]=Double.parseDouble(zb[0]);
|
y[0]=Double.parseDouble(zb[1]);
|
bj[0]=Double.parseDouble(zb[2]);
|
poly.setX(x);
|
poly.setY(y);
|
poly.setBj(bj);//Ô²Ðεİ뾶
|
}else if(shape.equals("һάÏß")){
|
String[] xy_s=zuobiao.split("\\;");//ÒÔ¡°;¡±·Ö¸î×Ö·û´®´Ó¶ø»ñµÃÿ¸öµã×ø±ê
|
double[] x=new double[xy_s.length];
|
double[] y=new double[xy_s.length];
|
for(int i=0;i<xy_s.length;i++) {
|
String zbxy=xy_s[i];
|
String[] xy=zbxy.split("\\,");//ÒÔ¡°,¡±·Ö¸î×Ö·û´®´Ó¶ø»ñµÃÿ¸öµãµÄxºÍy
|
x[i]=Double.parseDouble(xy[0]);
|
y[i]=Double.parseDouble(xy[1]);
|
}
|
poly.setX(x);
|
poly.setY(y);
|
}
|
|
if(yanse==null) {
|
yanse="ºìÉ«";
|
}
|
poly.setColor(ChooseColor.getColo(yanse,90));
|
polyVec.add(poly);
|
}
|
|
/**ÕÒµ½Ä³¸ö¶à±ßÐζÔÏóͨ¹ýÃû³Æ*/
|
public static PolygonNew found(String name) {
|
PolygonNew poly=null;
|
if(polyVec.size() !=0) {
|
for(int i=0;i<polyVec.size();i++) {
|
PolygonNew poly1=polyVec.get(i);
|
String name1=poly1.getName();
|
if(name1.equals(name)) {
|
poly=poly1;
|
break;
|
}
|
}
|
}
|
return poly;
|
}
|
|
|
/**ɾ³ýÈ«²¿µÄΧÀ¸¶ÔÏó*/
|
public static void delete_all() {
|
if(polyVec.size() !=0) {
|
polyVec.removeAllElements();
|
}
|
}
|
|
|
public static Vector<PolygonNew> getPolyVec() {
|
return polyVec;
|
}
|
|
|
/**»ñÈ¡ËùÓеĿ¼ÇÚÇøÓòµç×ÓΧÀ¸*/
|
public static Vector<PolygonNew> get_kaoqing_fences(){
|
Vector<PolygonNew> kaoqing_fences=new Vector<PolygonNew>();
|
Iterator<PolygonNew> it= polyVec.iterator();//½«µü´úÆ÷ÀïÃæµÄÔªËØ¸øµ½info¼¯ºÏ
|
while (it.hasNext()) {//µü´úÆ÷´æÔÚÔªËØ
|
PolygonNew tbfence=it.next();
|
String type=tbfence.gettype();
|
if(type.equals("¿¼ÇÚÇøÓò")) {
|
kaoqing_fences.add(tbfence);
|
}
|
}
|
return kaoqing_fences;
|
}
|
|
/**»ñÈ¡ËùÓÐµÄ¸æ¾¯ÇøÓòµÄµç×ÓΧÀ¸*/
|
public static Vector<PolygonNew> get_inwarning_fences(){
|
Vector<PolygonNew> inwarning_fences=new Vector<PolygonNew>();
|
Iterator<PolygonNew> it= polyVec.iterator();//½«µü´úÆ÷ÀïÃæµÄÔªËØ¸øµ½info¼¯ºÏ
|
while (it.hasNext()) {//µü´úÆ÷´æÔÚÔªËØ
|
PolygonNew tbfence=it.next();
|
String type=tbfence.gettype();
|
if(type.equals("½øÈë¸æ¾¯")) {
|
inwarning_fences.add(tbfence);
|
}
|
}
|
return inwarning_fences;
|
}
|
|
/**»ñÈ¡¿¼ÇÚÇøÓòµç×ÓΧÀ¸µÄµÄ×ÜÊý*/
|
public static int getkaoqing_fence_num () {
|
int num =get_kaoqing_fences().size();
|
return num;
|
}
|
|
|
|
public static void alert(String name,String bumen,String shape,
|
String start,String stop,String zuobiao ) {
|
PolygonNew poly=found(name);
|
if( poly==null) {
|
return;
|
}
|
poly.setBumen(bumen);
|
poly.setStart(start);
|
poly.setStop(stop);
|
if(shape.equals("¾ØÐÎ")) {
|
double[] x=new double[2];
|
double[] y=new double[2];
|
String[] zb=zuobiao.split("\\,");//ÒÔ¡°£¬¡±·Ö¸î×Ö·û´®
|
x[0]=Double.parseDouble(zb[0]);
|
y[0]=Double.parseDouble(zb[1]);
|
x[1]=Double.parseDouble(zb[2])-Double.parseDouble(zb[0]);
|
y[1]=Double.parseDouble(zb[3])-Double.parseDouble(zb[1]);
|
poly.setX(x);
|
poly.setY(y);
|
}else if(shape.equals("¶à±ßÐÎ")){
|
//987,447;1548,576;1458,1203;1065,1197;939,735;987,447
|
String[] xy_s=zuobiao.split("\\;");//ÒÔ¡°;¡±·Ö¸î×Ö·û´®´Ó¶ø»ñµÃÿ¸öµã×ø±ê
|
double[] x=new double[xy_s.length-1];
|
double[] y=new double[xy_s.length-1];
|
for(int i=0;i<xy_s.length-1;i++) {
|
String zbxy=xy_s[i];
|
String[] xy=zbxy.split("\\,");//ÒÔ¡°,¡±·Ö¸î×Ö·û´®´Ó¶ø»ñµÃÿ¸öµãµÄxºÍy
|
x[i]=Double.parseDouble(xy[0]);
|
y[i]=Double.parseDouble(xy[1]);
|
}
|
poly.setX(x);
|
poly.setY(y);
|
}else if (shape.equals("һάÏß")){
|
String[] xy=zuobiao.split("\\;");
|
double[] x=new double[xy.length-1];
|
double[] y=new double[xy.length-1];
|
for(int i=0;i<xy.length-1;i++) {
|
String zbxy=xy[i];
|
String[] xy_y=zbxy.split("\\,");//ÒÔ¡°,¡±·Ö¸î×Ö·û´®´Ó¶ø»ñµÃÿ¸öµãµÄxºÍy
|
x[i]=Double.parseDouble(xy_y[0]);
|
y[i]=Double.parseDouble(xy_y[1]);
|
}
|
}
|
}
|
}
|