root / branches / Mobile_Compatible_Hito_1 / libFMap_dataFile / src / org / gvsig / data / datastores / vectorial / file / shp / ShpFeatureCollectionWithFeatureID.java @ 21571
History | View | Annotate | Download (1.83 KB)
1 |
package org.gvsig.data.datastores.vectorial.file.shp; |
---|---|
2 |
|
3 |
import java.util.ArrayList; |
4 |
import java.util.Comparator; |
5 |
import java.util.Iterator; |
6 |
import java.util.TreeSet; |
7 |
|
8 |
import org.gvsig.data.ReadException; |
9 |
import org.gvsig.data.datastores.vectorial.file.dbf.DBFFeatureCollection; |
10 |
import org.gvsig.data.datastores.vectorial.file.dbf.DBFFeatureCollectionWithFeatureID; |
11 |
import org.gvsig.data.datastores.vectorial.file.dbf.DBFStore; |
12 |
import org.gvsig.data.vectorial.FeatureManager; |
13 |
import org.gvsig.data.vectorial.Feature; |
14 |
import org.gvsig.data.vectorial.FeatureCollection; |
15 |
import org.gvsig.data.vectorial.FeatureType; |
16 |
import org.gvsig.data.vectorial.expressionevaluator.FeatureComparator; |
17 |
import org.opengis.filter.Filter; |
18 |
import org.opengis.filter.sort.SortBy; |
19 |
|
20 |
public class ShpFeatureCollectionWithFeatureID extends |
21 |
DBFFeatureCollectionWithFeatureID { |
22 |
|
23 |
public ShpFeatureCollectionWithFeatureID(FeatureManager fm, SHPStore store, FeatureType type, Filter filter, SortBy[] Order) throws ReadException { |
24 |
super(fm, store, type, filter, Order);
|
25 |
// TODO Auto-generated constructor stub
|
26 |
} |
27 |
protected void intilizeFeatureIDs(FeatureManager fm,DBFStore store, Filter filter,SortBy[] order) throws ReadException { |
28 |
try{
|
29 |
if (order == null){ |
30 |
if (filter == null){ |
31 |
featureIDs = new ArrayList(); // Si queremos optimizar deberiamos inicializar |
32 |
// el tama?o
|
33 |
} else {
|
34 |
featureIDs = new ArrayList(); |
35 |
} |
36 |
} else {
|
37 |
Comparator comparator = new FeatureComparator(this.featureType,order); |
38 |
featureIDs = new TreeSet(comparator); |
39 |
} |
40 |
FeatureCollection coll = new ShpFeatureCollection(fm,(SHPStore)store,this.featureType,filter); |
41 |
Iterator iter = coll.iterator();
|
42 |
while (iter.hasNext()){
|
43 |
Feature feature =(Feature)iter.next(); |
44 |
featureIDs.add(feature.getID()); |
45 |
} |
46 |
}catch (Exception e) { |
47 |
throw new ReadException("DBFFeatureCollection",e); |
48 |
} |
49 |
} |
50 |
|
51 |
} |