Revision 2750
branches/CqCMSDvp/libraries/libCq CMS for java.old/src/org/cresques/px/gml/FeatureCollection.java | ||
---|---|---|
44 | 44 |
/** |
45 | 45 |
* FeatureCollection de .gml y .shp |
46 | 46 |
* @author "Luis W. Sevilla" <sevilla_lui@gva.es> |
47 |
* jmorell: A?adidas a FeatureCollection las capacidades de almacenamiento propias de |
|
48 |
* Feature mediante herencia. |
|
47 | 49 |
*/ |
48 |
|
|
49 |
// 040704 --> Acabo de a?adir a FeatureCollection las capacidades de almacenamiento |
|
50 |
// propias de Feature, con el fin de utilizar las Featurecollections |
|
51 |
// para construir los bloques. |
|
52 |
public class FeatureCollection extends PxObj implements IObjList.vector { |
|
50 |
public class FeatureCollection extends Feature implements IObjList.vector { |
|
53 | 51 |
IProjection proj = null; |
54 | 52 |
public Vector data = null; |
55 |
Hashtable property = null; |
|
56 |
Geometry geometry = null; |
|
57 |
|
|
53 |
|
|
54 |
/** |
|
55 |
* Constructor de FeatureCollection. |
|
56 |
* @param proj, Proyecci?n cartogr?fica en la que se encuentra la FeatureCollection. |
|
57 |
*/ |
|
58 | 58 |
public FeatureCollection(IProjection proj) { |
59 | 59 |
extent = new Extent(); |
60 | 60 |
data = new Vector(); |
61 | 61 |
property = new Hashtable(); |
62 | 62 |
} |
63 |
|
|
64 |
public void setProp(String prop, String value) { |
|
65 |
property.put(prop, value); |
|
66 |
} |
|
67 |
|
|
68 |
public String getProp(String prop) { |
|
69 |
return (String) property.get(prop); |
|
70 |
} |
|
71 |
|
|
63 |
|
|
64 |
/** |
|
65 |
* Permite a?adir un objeto gr?fico a la FeatureCollection. |
|
66 |
* @param feature, Objeto gr?fico que implemente el interface Extent.Has |
|
67 |
*/ |
|
72 | 68 |
public void add(Extent.Has feature) { |
73 | 69 |
Extent ext = feature.getExtent(); |
74 | 70 |
|
... | ... | |
77 | 73 |
data.add(feature); |
78 | 74 |
} |
79 | 75 |
} |
80 |
|
|
76 |
|
|
77 |
/** |
|
78 |
* Devuelve los Features de la FeatureCollection cuyos extents contengan al |
|
79 |
* punto que se le pasa como argumento. |
|
80 |
* @param pt, punto para localizar los Features. |
|
81 |
* @return IObjList, Conjunto de Features que contienen a pt. |
|
82 |
*/ |
|
81 | 83 |
public IObjList getAt(Point2D pt) { |
82 | 84 |
IObjList oList = new DxfEntityList(proj); |
83 | 85 |
Iterator iter = iterator(); |
... | ... | |
92 | 94 |
|
93 | 95 |
return oList; |
94 | 96 |
} |
95 |
|
|
97 |
|
|
98 |
/** |
|
99 |
* Devuelve un iterador para recorrer los elementos de la FeatureCollection. |
|
100 |
* @return Iterator, iterador. |
|
101 |
*/ |
|
96 | 102 |
public Iterator iterator() { |
97 | 103 |
return data.iterator(); |
98 | 104 |
} |
99 |
|
|
105 |
|
|
106 |
/** |
|
107 |
* Devuelve la cantidad de elementos que contiene la FeatureCollection. |
|
108 |
* @return int |
|
109 |
*/ |
|
100 | 110 |
public int size() { |
101 | 111 |
return data.size(); |
102 | 112 |
} |
103 |
|
|
113 |
|
|
114 |
/** |
|
115 |
* Permite eliminar un elemento de la FeatureCollection. |
|
116 |
* @param obj, Objeto que queremos eliminar. |
|
117 |
*/ |
|
104 | 118 |
public void remove(Object obj) { |
105 | 119 |
data.remove(obj); |
106 | 120 |
} |
107 |
|
|
121 |
|
|
122 |
/** |
|
123 |
* Permite vac?ar la FeatureCollection. |
|
124 |
*/ |
|
108 | 125 |
public void clear() { |
109 | 126 |
extent = new Extent(); |
110 | 127 |
data.clear(); |
111 | 128 |
} |
112 |
|
|
129 |
|
|
130 |
/** |
|
131 |
* Devuelve uno de los elementos de la FeatureCollection. |
|
132 |
* @param i, ?ndice del elemento de la FeatureCollection que queremos obtener. |
|
133 |
* @return Extent.Has, elemento gr?fico que queremos obtener. |
|
134 |
*/ |
|
113 | 135 |
public Extent.Has get(int i) { |
114 | 136 |
return (Extent.Has) data.get(i); |
115 | 137 |
} |
116 |
|
|
138 |
|
|
139 |
/** |
|
140 |
* Devuelve la proyecci?n cartogr?fica en la que se encuentra la FeatureCollection. |
|
141 |
* @return IProjection, proyecci?n cartogr?fica. |
|
142 |
*/ |
|
117 | 143 |
public IProjection getProjection() { |
118 | 144 |
return proj; |
119 | 145 |
} |
120 |
|
|
146 |
|
|
147 |
/** |
|
148 |
* Establece la proyecci?n cartogr?fica en la que se encuentra la FeatureCollection. |
|
149 |
* @param p, Proyecci?n cartogr?fica. |
|
150 |
*/ |
|
121 | 151 |
public void setProjection(IProjection p) { |
122 | 152 |
proj = p; |
123 | 153 |
} |
124 |
|
|
154 |
|
|
155 |
/** |
|
156 |
* Permite cambiar la proyecci?n en la que se encuentra la FeatureCollection a |
|
157 |
* trav?s de un conjunto de coordenadas de transformaci?n. |
|
158 |
* @param rp, Coordenadas de transformaci?n. |
|
159 |
*/ |
|
125 | 160 |
public void reProject(ICoordTrans rp) { |
126 | 161 |
extent = new Extent(); |
127 | 162 |
|
... | ... | |
138 | 173 |
|
139 | 174 |
setProjection(rp.getPDest()); |
140 | 175 |
} |
141 |
|
|
176 |
|
|
177 |
/** |
|
178 |
* Permite dibujar las Features que conforman la FeatureCollection. |
|
179 |
*/ |
|
142 | 180 |
public void draw(Graphics2D g, ViewPortData vp) { |
143 | 181 |
Iterator iter = iterator(); |
144 | 182 |
|
... | ... | |
147 | 185 |
f.draw(g, vp); |
148 | 186 |
} |
149 | 187 |
} |
150 |
|
|
188 |
|
|
189 |
/** |
|
190 |
* Permite obtener el extent de la FeatureCollection. |
|
191 |
* @return Extent, rect?ngulo en donde se ubican las Features que conforman la |
|
192 |
* FeatureCollection. |
|
193 |
*/ |
|
151 | 194 |
public Extent getExtent() { |
152 | 195 |
return extent; |
153 | 196 |
} |
branches/CqCMSDvp/libraries/libCq CMS for java.old/src/org/cresques/px/gml/InsPoint3D.java | ||
---|---|---|
27 | 27 |
|
28 | 28 |
|
29 | 29 |
/** |
30 |
* Extensi?n 3D de InsPoint. |
|
30 | 31 |
* @author jmorell |
31 | 32 |
*/ |
32 | 33 |
public class InsPoint3D extends InsPoint { |
34 |
|
|
35 |
/** |
|
36 |
* Constructor de InsPoint3D. |
|
37 |
*/ |
|
33 | 38 |
public InsPoint3D() { |
34 | 39 |
super(); |
35 | 40 |
} |
36 |
|
|
41 |
|
|
42 |
/** |
|
43 |
* Permite a?adir un punto en 3D. |
|
44 |
* @param pt, punto en 3D. |
|
45 |
*/ |
|
37 | 46 |
public void add(Point3D pt) { |
38 | 47 |
pointNr++; |
39 | 48 |
super.add(pt); |
40 | 49 |
} |
41 |
|
|
50 |
|
|
51 |
/** |
|
52 |
* Devuelve un punto 3D dado por un ?ndice. |
|
53 |
* @param i, ?ndice. |
|
54 |
* @return Point3D, punto 3D. |
|
55 |
*/ |
|
42 | 56 |
public Point3D getPoint3D(int i) { |
43 | 57 |
return (Point3D) data.get(i); |
44 | 58 |
} |
branches/CqCMSDvp/libraries/libCq CMS for java.old/src/org/cresques/px/gml/Feature.java | ||
---|---|---|
27 | 27 |
|
28 | 28 |
import org.cresques.px.Drawable; |
29 | 29 |
import org.cresques.px.Extent; |
30 |
import org.cresques.px.PxObj; |
|
30 | 31 |
|
31 | 32 |
import java.awt.Graphics2D; |
32 | 33 |
|
... | ... | |
37 | 38 |
* Feature de .gml y .shp |
38 | 39 |
* @author "Luis W. Sevilla" <sevilla_lui@gva.es> |
39 | 40 |
*/ |
40 |
public class Feature implements Extent.Has, Drawable {
|
|
41 |
public class Feature extends PxObj {
|
|
41 | 42 |
Hashtable property = null; |
42 | 43 |
Geometry geometry = null; |
43 |
|
|
44 |
|
|
45 |
/** |
|
46 |
* Constructor de la clase Feature. |
|
47 |
*/ |
|
44 | 48 |
public Feature() { |
45 | 49 |
property = new Hashtable(); |
46 | 50 |
} |
47 |
|
|
51 |
|
|
52 |
/** |
|
53 |
* Establece los atributos de las Features. |
|
54 |
* @param prop, Nombre del atributo. |
|
55 |
* @param value, Valor que toma este atributo para esta Feature. |
|
56 |
*/ |
|
48 | 57 |
public void setProp(String prop, String value) { |
49 | 58 |
property.put(prop, value); |
50 | 59 |
} |
51 |
|
|
60 |
|
|
61 |
/** |
|
62 |
* Devuelve el valor de un determinado atributo del Feature. |
|
63 |
* @param prop, Nombre del atributo del cual queremos conocer el valor. |
|
64 |
* @return String, Valor del atributo para esta Feature. |
|
65 |
*/ |
|
52 | 66 |
public String getProp(String prop) { |
53 | 67 |
return (String) property.get(prop); |
54 | 68 |
} |
55 |
|
|
69 |
|
|
70 |
/** |
|
71 |
* Establece la geometr?a a la que est? asociada este Feature. |
|
72 |
* @param geom, la geometr?a que caracteriza a este Feature. |
|
73 |
*/ |
|
56 | 74 |
public void setGeometry(Geometry geom) { |
57 | 75 |
geometry = geom; |
58 | 76 |
} |
59 |
|
|
77 |
|
|
78 |
/** |
|
79 |
* Devuelve la geometr?a asociada a este Feature. |
|
80 |
* @return Geometry, la geometr?a que caracteriza a este Feature. |
|
81 |
*/ |
|
60 | 82 |
public Geometry getGeometry() { |
61 | 83 |
return geometry; |
62 | 84 |
} |
63 |
|
|
85 |
|
|
86 |
/** |
|
87 |
* Devuelve el extent de la geometr?a que caracteriza al Feature. |
|
88 |
* @return Extent, rect?ngulo en el que est? ubicado la geometr?a caracter?stica |
|
89 |
* del Feature. |
|
90 |
*/ |
|
64 | 91 |
public Extent getExtent() { |
65 | 92 |
if (geometry != null) { |
66 | 93 |
return geometry.getExtent(); |
... | ... | |
68 | 95 |
|
69 | 96 |
return null; |
70 | 97 |
} |
71 |
|
|
98 |
|
|
99 |
/** |
|
100 |
* Permite dibujar le geometr?a caracter?stica del Feature. |
|
101 |
*/ |
|
72 | 102 |
public void draw(Graphics2D g, ViewPortData vp) { |
73 | 103 |
Geometry geo = getGeometry(); |
74 | 104 |
|
branches/CqCMSDvp/libraries/libCq CMS for java.old/src/org/cresques/px/gml/Geometry.java | ||
---|---|---|
47 | 47 |
|
48 | 48 |
// protected Extent extent = null; |
49 | 49 |
Vector data = null; |
50 |
|
|
50 |
|
|
51 |
/** |
|
52 |
* Constructor de Geometry. |
|
53 |
*/ |
|
51 | 54 |
public Geometry() { |
52 | 55 |
extent = new Extent(); |
53 | 56 |
data = new Vector(); |
54 | 57 |
} |
55 |
|
|
58 |
|
|
59 |
/** |
|
60 |
* Permite a?adir un punto a la Geometry. |
|
61 |
* @param pt |
|
62 |
*/ |
|
56 | 63 |
public void add(Point2D pt) { |
57 | 64 |
extent.add(pt); |
58 | 65 |
data.add(pt); |
59 | 66 |
} |
60 |
|
|
67 |
|
|
68 |
/** |
|
69 |
* Devuelve un punto de la Geometry dado por su ?ndice. |
|
70 |
* @param i, ?ndice. |
|
71 |
* @return Point2D. |
|
72 |
*/ |
|
61 | 73 |
public Point2D get(int i) { |
62 | 74 |
return (Point2D) data.get(i); |
63 | 75 |
} |
64 |
|
|
76 |
|
|
77 |
/** |
|
78 |
* Devuelve el n?mero de puntos que componen la Geometry. |
|
79 |
* @return int |
|
80 |
*/ |
|
65 | 81 |
public int pointNr() { |
66 | 82 |
return data.size(); |
67 | 83 |
} |
68 |
|
|
84 |
|
|
85 |
/** |
|
86 |
* Devuelve el conjunto de objetos que conforman la Geometry en forma de Vector. |
|
87 |
* @return Vector de objetos. |
|
88 |
*/ |
|
69 | 89 |
public Vector getData() { |
70 | 90 |
return data; |
71 | 91 |
} |
72 |
|
|
92 |
|
|
93 |
/** |
|
94 |
* Devuelve el extent de la Geometry. |
|
95 |
* @return Extent, el rect?ngulo que contiene la Geometry. |
|
96 |
*/ |
|
73 | 97 |
public Extent getExtent() { |
74 | 98 |
return extent; |
75 | 99 |
} |
76 |
|
|
100 |
|
|
101 |
/** |
|
102 |
* Devuelve la proyecci?n cartogr?fica en la que se encuentra la Geometry. |
|
103 |
* @return IProjection, la proyecci?n cartogr?fica. |
|
104 |
*/ |
|
77 | 105 |
abstract public IProjection getProjection(); |
78 |
|
|
106 |
|
|
107 |
/** |
|
108 |
* Permite reproyectar la Geometry en funci?n de unas coordenadas de transformaci?n. |
|
109 |
* @param rp, Coordenadas de transformaci?n. |
|
110 |
*/ |
|
79 | 111 |
abstract public void reProject(ICoordTrans rp); |
80 |
|
|
112 |
|
|
113 |
/** |
|
114 |
* Permite dibujar la Geometry. |
|
115 |
* @param g, Graphics2D. |
|
116 |
* @param vp, ViewPortData. |
|
117 |
*/ |
|
81 | 118 |
public void draw(Graphics2D g, ViewPortData vp) { |
82 | 119 |
} |
83 | 120 |
} |
branches/CqCMSDvp/libraries/libCq CMS for java.old/src/org/cresques/px/gml/InsPoint.java | ||
---|---|---|
36 | 36 |
|
37 | 37 |
import java.util.Vector; |
38 | 38 |
|
39 |
|
|
39 |
/** |
|
40 |
* Punto de inserci?n. Se trata de un Point al que se le han a?adido los atributos |
|
41 |
* necesarios para hacer referencia a un conjunto de objetos gr?ficos o bloque. |
|
42 |
* @author jmorell |
|
43 |
*/ |
|
40 | 44 |
public class InsPoint extends Geometry { |
41 | 45 |
public static int pointNr = 0; |
42 | 46 |
public String text = null; |
... | ... | |
48 | 52 |
boolean blockFound = false; |
49 | 53 |
private Color fColor = null; //new Color(255,222,165,64); |
50 | 54 |
private Color color = new Color(255, 0, 0); //Color(255,214,132,255); |
51 |
|
|
55 |
|
|
56 |
/** |
|
57 |
* Constructor de la clase. |
|
58 |
*/ |
|
52 | 59 |
public InsPoint() { |
53 | 60 |
super(); |
54 | 61 |
} |
55 |
|
|
62 |
|
|
63 |
/** |
|
64 |
* Permite a?adir un punto. |
|
65 |
* @param pt, Punto. |
|
66 |
*/ |
|
56 | 67 |
public void add(Point2D pt) { |
57 | 68 |
pointNr++; |
58 | 69 |
super.add(pt); |
59 | 70 |
} |
60 |
|
|
71 |
|
|
72 |
/** |
|
73 |
* Devuelve el ?ngulo de rotaci?n que se aplica al bloque. |
|
74 |
* @return double. ?ngulo de rotaci?n. |
|
75 |
*/ |
|
61 | 76 |
public double getRotAngle() { |
62 | 77 |
return rotAngle; |
63 | 78 |
} |
64 |
|
|
79 |
|
|
80 |
/** |
|
81 |
* Devuelve el factor de escala que se aplica al bloque. |
|
82 |
* @return Point3D. Contiene el factor de escala en X, en Y y en Z. |
|
83 |
*/ |
|
65 | 84 |
public Point3D getScaleFactor() { |
66 | 85 |
return scaleFactor; |
67 | 86 |
} |
68 |
|
|
87 |
|
|
88 |
/** |
|
89 |
* Devuelve la lista de bloques. |
|
90 |
* @return Vector, la lista de bloques. |
|
91 |
*/ |
|
69 | 92 |
public Vector getBlkList() { |
70 | 93 |
return blkList; |
71 | 94 |
} |
72 |
|
|
95 |
|
|
96 |
/** |
|
97 |
* Informa sobre si el bloque ya ha sido encontrado. |
|
98 |
* @return boolean, true si el bloque ya ha sido encontrado. |
|
99 |
*/ |
|
73 | 100 |
public boolean getBlockFound() { |
74 | 101 |
return blockFound; |
75 | 102 |
} |
76 |
|
|
103 |
|
|
104 |
/** |
|
105 |
* Establece el bloque al que hace referencia este punto de inserci?n. |
|
106 |
* @param block, bloque. |
|
107 |
*/ |
|
77 | 108 |
public void setBlock(FeatureCollection block) { |
78 | 109 |
this.block = block; |
79 | 110 |
} |
80 |
|
|
111 |
|
|
112 |
/** |
|
113 |
* Establece si el bloque ya ha sido encontrado. |
|
114 |
* @param found, true si el bloque ya ha sido encontrado. |
|
115 |
*/ |
|
81 | 116 |
public void setBlockFound(boolean found) { |
82 | 117 |
blockFound = found; |
83 | 118 |
} |
84 |
|
|
119 |
|
|
120 |
/** |
|
121 |
* Establece la lista de bloques. |
|
122 |
* @param blkList, Vector con la lista de bloques. |
|
123 |
*/ |
|
85 | 124 |
public void setBlkList(Vector blkList) { |
86 | 125 |
this.blkList = blkList; |
87 | 126 |
} |
88 |
|
|
127 |
|
|
128 |
/** |
|
129 |
* Devuelve el bloque al que hace referencia el punto de inserci?n. |
|
130 |
* @return FeatureCollection, el bloque. |
|
131 |
*/ |
|
89 | 132 |
public FeatureCollection getBlock() { |
90 | 133 |
return block; |
91 | 134 |
} |
92 |
|
|
135 |
|
|
136 |
/** |
|
137 |
* Establece el nombre del bloque. |
|
138 |
* @param blockName, nombre del bloque. |
|
139 |
*/ |
|
93 | 140 |
public void setBlockName(String blockName) { |
94 | 141 |
this.blockName = blockName; |
95 | 142 |
} |
96 |
|
|
143 |
|
|
144 |
/** |
|
145 |
* Devuelve el nombre del bloque al que hace referencia el punto de inserci?n. |
|
146 |
* @return String, nombre del bloque. |
|
147 |
*/ |
|
97 | 148 |
public String getBlockName() { |
98 | 149 |
return blockName; |
99 | 150 |
} |
100 |
|
|
151 |
|
|
152 |
/** |
|
153 |
* Establece el factor de escala para el bloque. |
|
154 |
* @param scaleFactor, factor de escala en X, en Y y en Z. |
|
155 |
*/ |
|
101 | 156 |
public void setScaleFactor(Point3D scaleFactor) { |
102 | 157 |
this.scaleFactor = scaleFactor; |
103 | 158 |
} |
104 |
|
|
159 |
|
|
160 |
/** |
|
161 |
* Establece el ?ngulo de rotaci?n para el bloque. |
|
162 |
* @param rotAngle, ?ngulo de rotaci?n. |
|
163 |
*/ |
|
105 | 164 |
public void setRotAngle(double rotAngle) { |
106 | 165 |
this.rotAngle = rotAngle; |
107 | 166 |
} |
108 |
|
|
167 |
|
|
168 |
/** |
|
169 |
* M?todo para cargar el bloque al que hace referencia el punto de inserci?n, en el |
|
170 |
* propio punto InsPoint. |
|
171 |
* @param blockName, nombre del bloque que estamos buscando. |
|
172 |
* @return boolean, true si hemos encontrado el bloque que buscabamos y ha sido |
|
173 |
* cargado. |
|
174 |
*/ |
|
109 | 175 |
public boolean encuentraBloque(String blockName) { |
110 | 176 |
int i = 0; |
111 | 177 |
|
... | ... | |
127 | 193 |
|
128 | 194 |
return blockFound; |
129 | 195 |
} |
130 |
|
|
196 |
|
|
197 |
/** |
|
198 |
* Devuelve el color del punto de inserci?n. |
|
199 |
* @return Color |
|
200 |
*/ |
|
131 | 201 |
public Color c() { |
132 | 202 |
return color; |
133 | 203 |
} |
134 |
|
|
204 |
|
|
205 |
/** |
|
206 |
* Establece el color del punto de inserci?n. |
|
207 |
* @param color |
|
208 |
* @return Color |
|
209 |
*/ |
|
135 | 210 |
public Color c(Color color) { |
136 | 211 |
this.color = color; |
137 | 212 |
|
138 | 213 |
return color; |
139 | 214 |
} |
140 |
|
|
215 |
|
|
216 |
/** |
|
217 |
* Devuelve el color del relleno. |
|
218 |
* @return Color |
|
219 |
*/ |
|
141 | 220 |
public Color fillColor() { |
142 | 221 |
return fColor; |
143 | 222 |
} |
144 |
|
|
223 |
|
|
224 |
/** |
|
225 |
* Establece el color de relleno. |
|
226 |
* @param c, color. |
|
227 |
* @return Color |
|
228 |
*/ |
|
145 | 229 |
public Color fillColor(Color c) { |
146 | 230 |
fColor = c; |
147 | 231 |
|
148 | 232 |
return fColor; |
149 | 233 |
} |
150 |
|
|
234 |
|
|
235 |
/** |
|
236 |
* Devuelve la proyecci?n cartogr?fica en la que se encuentra el InsPoint. |
|
237 |
* @return IProjection, proyecci?n cartogr?fica. |
|
238 |
*/ |
|
151 | 239 |
public IProjection getProjection() { |
152 | 240 |
return proj; |
153 | 241 |
} |
154 |
|
|
242 |
|
|
243 |
/** |
|
244 |
* Establece la proyecci?n cartogr?fica en la que se encuentra el InsPoint. |
|
245 |
* @param p, proyecci?n cartogr?fica. |
|
246 |
*/ |
|
155 | 247 |
public void setProjection(IProjection p) { |
156 | 248 |
proj = p; |
157 | 249 |
} |
158 |
|
|
250 |
|
|
251 |
/** |
|
252 |
* Permite cambiar la proyecci?n cartogr?fica del InsPoint a trav?s de unas |
|
253 |
* coordenadas de transformaci?n. |
|
254 |
* @param rp, coordenadas de transformaci?n. |
|
255 |
*/ |
|
159 | 256 |
public void reProject(ICoordTrans rp) { |
160 | 257 |
// TODO metodo reProject pendiente de implementar |
161 | 258 |
} |
162 |
|
|
259 |
|
|
260 |
/** |
|
261 |
* Permite dibujar el InsPoint. |
|
262 |
*/ |
|
163 | 263 |
public void draw(Graphics2D g, ViewPortData vp) { |
164 | 264 |
g.setColor(c()); |
165 | 265 |
|
Also available in: Unified diff