Statistics
| Revision:

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

History | View | Annotate | Download (2.52 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
//        private SHPStore store;
30
//        private long featureIndex;
31

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

    
38
        }
39

    
40

    
41

    
42
        protected void loadValue(IFeatureAttributeDescriptor descriptor) throws ReadException, IsNotFeatureSettingException {
43
                if (descriptor.getDataType().equals(IFeatureAttributeDescriptor.TYPE_GEOMETRY)){
44
                        this.setGeometry(((AttributeDescriptor)descriptor).originalPosition(), ((SHPStore)store).getGeometry(featureIndex) );
45
                } else {
46
                        super.loadValue(descriptor);
47
                }
48
        }
49

    
50

    
51

    
52
        public IFeatureID getID() {
53
                return new ShpFeatureID((SHPStore)this.store,featureIndex);
54
        }
55

    
56
        public IExtent getExtent() {
57
                return ((SHPStore)store).getBoundingBox(featureIndex);
58
        }
59

    
60
        public List getAllSRS() {
61
                // TODO Auto-generated method stub
62
                return null;
63
        }
64

    
65
        public String getDefaultSRS() {
66
                // TODO Auto-generated method stub
67
                return null;
68
        }
69

    
70
        public int[] getGeometryTypes() {
71
                IGeometry geometry= (IGeometry)getDefaultGeometry();
72
                if (geometry!=null)
73
                        return new int[]{geometry.getGeometryType()};
74
                return null;
75
        }
76

    
77

    
78

    
79
        protected IFeature cloneFeature() throws DataException {
80
                try {
81
                        return new ShpFeature(this.featureType,(SHPStore)this.store,this.featureIndex);
82
                } catch (ReadException e) {
83
                        throw new IsNotFeatureSettingException("Clone");
84
                }
85
        }
86

    
87

    
88

    
89

    
90
}