Statistics
| Revision:

svn-gvsig-desktop / trunk / libraries / libFMap_dataFile / src / org / gvsig / data / datastores / vectorial / file / shp / ShpFeature.java @ 20660

History | View | Annotate | Download (2.79 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.DataException;
14
import org.gvsig.data.exception.ReadException;
15
import org.gvsig.data.spatialprovisional.IExtent;
16
import org.gvsig.data.vectorial.AttributeDescriptor;
17
import org.gvsig.data.vectorial.Feature;
18
import org.gvsig.data.vectorial.IFeature;
19
import org.gvsig.data.vectorial.IFeatureAttributeDescriptor;
20
import org.gvsig.data.vectorial.IFeatureID;
21
import org.gvsig.data.vectorial.IFeatureType;
22
import org.gvsig.data.vectorial.IsNotFeatureSettingException;
23

    
24
import com.iver.cit.gvsig.fmap.core.IGeometry;
25

    
26

    
27
public class ShpFeature extends DBFFeature{
28
        protected static Locale ukLocale = new Locale("en", "UK");
29
        protected IExtent extent=null;
30
//        private SHPStore store;
31
//        private long featureIndex;
32

    
33
        ShpFeature(IFeatureType featureType, SHPStore store,long featureIndex) throws ReadException {
34
                super(featureType,store,featureIndex);
35
//                load();
36
//                this.store=store;
37
//                this.featureIndex=featureIndex;
38

    
39
        }
40

    
41

    
42

    
43

    
44
        /* (non-Javadoc)
45
         * @see org.gvsig.data.datastores.vectorial.file.dbf.DBFFeature#load()
46
         */
47
        protected void load() throws ReadException {
48
                // TODO Auto-generated method stub
49
                super.load();
50
                this.extent= ((SHPStore)store).getBoundingBox(featureIndex);
51
        }
52

    
53

    
54

    
55

    
56
        protected void loadValue(IFeatureAttributeDescriptor descriptor) throws ReadException, IsNotFeatureSettingException {
57
                if (descriptor.getDataType().equals(IFeatureAttributeDescriptor.TYPE_GEOMETRY)){
58
                        this.setGeometry(((AttributeDescriptor)descriptor).originalPosition(), ((SHPStore)store).getGeometry(featureIndex) );
59
                } else {
60
                        super.loadValue(descriptor);
61
                }
62
        }
63

    
64

    
65

    
66
        public IFeatureID getID() {
67
                return new ShpFeatureID((SHPStore)this.store,featureIndex);
68
        }
69

    
70
        public IExtent getExtent(){
71
                return this.extent;
72
        }
73

    
74
        public List getAllSRS() {
75
                // TODO Auto-generated method stub
76
                return null;
77
        }
78

    
79
        public String getDefaultSRS() {
80
                // TODO Auto-generated method stub
81
                return null;
82
        }
83

    
84
        public int[] getGeometryTypes() {
85
                IGeometry geometry= (IGeometry)getDefaultGeometry();
86
                if (geometry!=null)
87
                        return new int[]{geometry.getGeometryType()};
88
                return null;
89
        }
90

    
91

    
92

    
93
        protected IFeature cloneFeature() throws DataException {
94
                try {
95
                        return new ShpFeature(this.featureType,(SHPStore)this.store,this.featureIndex);
96
                } catch (ReadException e) {
97
                        throw new IsNotFeatureSettingException("Clone");
98
                }
99
        }
100

    
101

    
102

    
103

    
104
}