Revision 2999 trunk/extensions/extGeoProcessing/src/com/iver/gvsig/geoprocessing/gui/GeoProcessingPanel.java
GeoProcessingPanel.java | ||
---|---|---|
1032 | 1032 |
} |
1033 | 1033 |
} |
1034 | 1034 |
} |
1035 |
// Al meter rowj.length en vez de rowj.length-1 se anula esta parte |
|
1036 |
/*Vector resultGeometries = new Vector(); |
|
1037 |
for (int i=0;i<values.size();i++) { |
|
1038 |
Value[] rowi = ((Value[])values.get(i)); |
|
1039 |
Geometry geometryi = ((Geometry)geometriesClipped.get(i)); |
|
1040 |
for (int j=0;j<values.size();j++) { |
|
1041 |
if (j>i) { |
|
1042 |
//if (j!=i) { |
|
1043 |
Value[] rowj = ((Value[])values.get(j)); |
|
1044 |
boolean areTheSameElement = true; |
|
1045 |
//for (int k=0;k<rowj.length;k++) { |
|
1046 |
for (int k=0;k<rowj.length-1;k++) { |
|
1047 |
//Value valuei = ds.getFieldValue(i, k); |
|
1048 |
//Value valuej = ds.getFieldValue(j, k); |
|
1049 |
Value valuei = rowi[k]; |
|
1050 |
Value valuej = rowj[k]; |
|
1051 |
if (!((BooleanValue)(valuej.equals(valuei))).getValue()) { |
|
1052 |
areTheSameElement = false; |
|
1053 |
break; |
|
1054 |
} |
|
1055 |
} |
|
1056 |
if (areTheSameElement) { |
|
1057 |
Geometry geometryj = ((Geometry)geometriesClipped.get(j)); |
|
1058 |
geometryi = geometryj.union(geometryi); |
|
1059 |
//values.remove(j); // igual esto peta ... |
|
1060 |
} |
|
1061 |
} |
|
1062 |
} |
|
1063 |
resultGeometries.add(geometryi); |
|
1064 |
} |
|
1065 |
for (int i=0;i<resultGeometries.size();i++) { |
|
1066 |
for (int j=0;j<resultGeometries.size();j++) { |
|
1067 |
if (j>i) { |
|
1068 |
if (((Geometry)resultGeometries.get(i)).contains((Geometry)resultGeometries.get(j))) resultGeometries.remove(j); |
|
1069 |
} |
|
1070 |
} |
|
1071 |
}*/ |
|
1072 | 1035 |
Vector resultGeometries = new Vector(); |
1073 | 1036 |
for (int i=0;i<values.size();i++) { |
1074 |
//Value valuei = fieldValues[i]; |
|
1075 | 1037 |
Value[] rowi = ((Value[])values.get(i)); |
1076 | 1038 |
Geometry geometryi = ((Geometry)geometriesClipped.get(i)); |
1077 | 1039 |
for (int j=0;j<values.size();j++) { |
1078 | 1040 |
if (j!=i) { |
1079 |
//Value valuej = fieldValues[j]; |
|
1080 | 1041 |
Value[] rowj = ((Value[])values.get(j)); |
1081 |
/*if (((BooleanValue)(valuej.equals(valuei))).getValue()) { |
|
1082 |
Geometry geometryj = geometriesToDissolve[j]; |
|
1083 |
geometryi = geometryj.union(geometryi); |
|
1084 |
}*/ |
|
1085 | 1042 |
boolean areTheSameElement = true; |
1086 |
//for (int k=0;k<rowj.length;k++) {
|
|
1087 |
for (int k=0;k<rowj.length-1;k++) { |
|
1043 |
for (int k=0;k<rowj.length;k++) { |
|
1044 |
//for (int k=0;k<rowj.length-1;k++) {
|
|
1088 | 1045 |
Value valuei = rowi[k]; |
1089 | 1046 |
Value valuej = rowj[k]; |
1090 | 1047 |
if (!((BooleanValue)(valuej.equals(valuei))).getValue()) { |
... | ... | |
1095 | 1052 |
if (areTheSameElement) { |
1096 | 1053 |
Geometry geometryj = ((Geometry)geometriesClipped.get(j)); |
1097 | 1054 |
geometryi = geometryj.union(geometryi); |
1098 |
//values.remove(j); // igual esto peta ... |
|
1099 | 1055 |
} |
1100 | 1056 |
} |
1101 | 1057 |
} |
... | ... | |
1111 | 1067 |
} |
1112 | 1068 |
} |
1113 | 1069 |
} |
1114 |
// |
|
1115 |
/*for (int i=0;i<values.size();i++) { |
|
1116 |
Value[] rowi = ((Value[])values.get(i)); |
|
1117 |
for (int j=0;j<values.size();j++) { |
|
1118 |
if (j!=i) { |
|
1119 |
Value[] rowj = ((Value[])values.get(j)); |
|
1120 |
boolean areTheSameElement = true; |
|
1121 |
//for (int k=0;k<rowj.length;k++) { |
|
1122 |
for (int k=0;k<rowj.length-1;k++) { |
|
1123 |
Value valuei = rowi[k]; |
|
1124 |
Value valuej = rowj[k]; |
|
1125 |
if (!((BooleanValue)(valuej.equals(valuei))).getValue()) { |
|
1126 |
areTheSameElement = false; |
|
1127 |
} |
|
1128 |
} |
|
1129 |
if (areTheSameElement) { |
|
1130 |
values.remove(j); |
|
1131 |
} |
|
1132 |
} |
|
1133 |
} |
|
1134 |
}*/ |
|
1135 | 1070 |
for (int i=0;i<values.size();i++) { |
1136 | 1071 |
Value[] rowi = ((Value[])values.get(i)); |
1137 | 1072 |
for (int j=0;j<values.size();j++) { |
1138 | 1073 |
if (j>i) { |
1139 | 1074 |
Value[] rowj = ((Value[])values.get(j)); |
1140 | 1075 |
boolean areTheSameElement = true; |
1141 |
for (int k=0;k<rowj.length-1;k++) { |
|
1076 |
for (int k=0;k<rowj.length;k++) { |
|
1077 |
//for (int k=0;k<rowj.length-1;k++) { |
|
1142 | 1078 |
Value valuei = rowi[k]; |
1143 | 1079 |
Value valuej = rowj[k]; |
1144 | 1080 |
if (!((BooleanValue)(valuej.equals(valuei))).getValue()) { |
... | ... | |
1152 | 1088 |
} |
1153 | 1089 |
} |
1154 | 1090 |
} |
1155 |
// |
|
1156 | 1091 |
Geometry[] dissolvedGeometries = new Geometry[resultGeometries.size()]; |
1157 | 1092 |
for (int i=0;i<resultGeometries.size();i++) { |
1158 | 1093 |
dissolvedGeometries[i] = (Geometry)resultGeometries.get(i); |
Also available in: Unified diff