Statistics
| Revision:

root / trunk / libraries / libDataSourceBaseDrivers / src / org / gvsig / data / datastores / vectorial / file / shp / ShpFeature.java @ 20437

History | View | Annotate | Download (2.32 KB)

1
package org.gvsig.data.datastores.vectorial.file.shp;
2

    
3
import java.text.DateFormat;
4
import java.text.ParseException;
5
import java.util.Date;
6
import java.util.Iterator;
7
import java.util.List;
8
import java.util.Locale;
9

    
10
import org.gvsig.data.datastores.vectorial.file.dbf.DBFFeature;
11
import org.gvsig.data.datastores.vectorial.file.dbf.DBFStore;
12
import org.gvsig.data.datastores.vectorial.file.dbf.utils.DbaseFile;
13
import org.gvsig.data.exception.ReadException;
14
import org.gvsig.data.spatialprovisional.IExtent;
15
import org.gvsig.data.vectorial.Feature;
16
import org.gvsig.data.vectorial.IFeatureAttributeDescriptor;
17
import org.gvsig.data.vectorial.IFeatureID;
18
import org.gvsig.data.vectorial.IFeatureType;
19
import org.gvsig.data.vectorial.IsNotFeatureSettingException;
20

    
21
import com.iver.cit.gvsig.fmap.core.IGeometry;
22

    
23

    
24
public class ShpFeature extends DBFFeature{
25
        protected static Locale ukLocale = new Locale("en", "UK");
26
//        private SHPStore store;
27
//        private long featureIndex;
28

    
29
        ShpFeature(IFeatureType featureType, SHPStore store,long featureIndex) throws ReadException {
30
                super(featureType,store,featureIndex);
31
                load();
32
//                this.store=store;
33
//                this.featureIndex=featureIndex;
34

    
35
        }
36

    
37

    
38
        protected void load() throws ReadException{
39
                Iterator iterator=featureType.iterator();
40
                try{
41
                        this.loading();
42
                        while (iterator.hasNext()) {
43
                                IFeatureAttributeDescriptor descriptor = (IFeatureAttributeDescriptor) iterator.next();
44
                                int i=descriptor.ordinal();
45
                                String fieldType=descriptor.getDataType();
46
                                if (fieldType.equals(IFeatureAttributeDescriptor.TYPE_GEOMETRY)){
47
                                        this.setGeometry(i,((SHPStore)store).getGeometry(i));
48
                                }
49
                        }
50
                        this.stopLoading();
51
                }catch (IsNotFeatureSettingException e) {
52
                        e.printStackTrace();
53
                }
54
        }
55

    
56

    
57

    
58
        public IFeatureID getID() {
59
                return new ShpFeatureID((SHPStore)this.store,featureIndex);
60
        }
61

    
62
        public IExtent getExtent() {
63
                return ((SHPStore)store).getBoundingBox(featureIndex);
64
        }
65

    
66
        public List getAllSRS() {
67
                // TODO Auto-generated method stub
68
                return null;
69
        }
70

    
71
        public String getDefaultSRS() {
72
                // TODO Auto-generated method stub
73
                return null;
74
        }
75

    
76
        public int[] getGeometryTypes() {
77
                IGeometry geometry= (IGeometry)getDefaultGeometry();
78
                if (geometry!=null)
79
                        return new int[]{geometry.getGeometryType()};
80
                return null;
81
        }
82

    
83

    
84

    
85

    
86
}