Revision 19441

View differences:

trunk/libraries/libDataSourceBaseDrivers/src-test/org/gvsig/data/datastores/vectorial/driver/DataStoreTest.java
59 59
		IFeatureType ft= fs.getDefaultFeatureType();
60 60
//		IFeatureCollection featureCollection = (IFeatureCollection)fs.getDataCollection();
61 61
//		IFeatureCollection featureCollection = (IFeatureCollection)fs.getDataCollection(ft,"NOMBRE = 'CALPE'",null);
62
		IFeatureCollection featureCollection = (IFeatureCollection)fs.getDataCollection(ft,"AREA = 3.2213163739E7",null);
62
		IFeatureCollection featureCollection = (IFeatureCollection)fs.getDataCollection(ft,"AREA > 5.9971986682E7",null);
63 63
		Iterator iter = featureCollection.iterator();
64 64
		System.out.println("DataStore Editing DBF Feature ------------------- ");
65 65
		while (iter.hasNext()) {
trunk/libraries/libDataSourceBaseDrivers/src/org/gvsig/data/datastores/vectorial/driver/shp/ShpDriver.java
19 19
import org.gvsig.data.datastores.vectorial.driver.dbf.DBFDriver;
20 20
import org.gvsig.data.datastores.vectorial.driver.shp.fileshp.SHP;
21 21
import org.gvsig.data.datastores.vectorial.driver.shp.fileshp.ShapeFileHeader2;
22
import org.gvsig.data.spatialprovisional.Extent;
23
import org.gvsig.data.spatialprovisional.IExtent;
22 24
import org.gvsig.data.vectorial.DefaultAttributeDescriptor;
23 25
import org.gvsig.data.vectorial.IFeature;
24 26
import org.gvsig.data.vectorial.IFeatureAttributeDescriptor;
......
26 28
import org.gvsig.data.vectorial.IFeatureID;
27 29
import org.gvsig.data.vectorial.IFeatureType;
28 30
import org.gvsig.data.vectorial.expansionadapter.FeatureManager;
31
import org.gvsig.metadata.IMetadata;
32
import org.gvsig.metadata.IMetadataManager;
33
import org.gvsig.metadata.MetadataManager;
29 34

  
30 35
import com.iver.cit.gvsig.fmap.core.FShape;
31 36
import com.iver.cit.gvsig.fmap.core.GeneralPathX;
......
44 49
	private FileChannel channelShx;
45 50
	private BigByteBuffer2 bbShx;
46 51
	private int type;
47
	private Rectangle2D extent;
52
	private IExtent extent;
48 53
	private IFeatureType featureType;
49 54
	public ShpDriver() {
50 55
		super();
......
107 112
		// read the header
108 113
		myHeader.readHeader(bb);
109 114

  
110
		extent = new Rectangle2D.Double(myHeader.myXmin, myHeader.myYmin,
111
				myHeader.myXmax - myHeader.myXmin,
112
				myHeader.myYmax - myHeader.myYmin);
115
		extent = new Extent(myHeader.myXmin, myHeader.myYmin,myHeader.myXmax,myHeader.myYmax);
116
//		extent = new Rectangle2D.Double(myHeader.myXmin, myHeader.myYmin,
117
//				myHeader.myXmax - myHeader.myXmin,
118
//				myHeader.myYmax - myHeader.myYmin);
113 119

  
114 120
		type = myHeader.myShapeType;
115 121

  
......
496 502
		return DRIVER_NAME;
497 503
	}
498 504

  
499
	public Rectangle2D getFullExtent() {
505
	private IExtent getFullExtent() {
500 506
		return extent;
501 507
	}
502 508

  
......
545 551
		 *
546 552
		 * @throws IOException
547 553
		 */
548
		private synchronized Rectangle2D.Double readRectangle(BigByteBuffer2 in){
549
			Rectangle2D.Double tempRect = new Rectangle2D.Double();
554
		private synchronized IExtent readRectangle(BigByteBuffer2 in){
555

  
550 556
			in.order(ByteOrder.LITTLE_ENDIAN);
551
			tempRect.x = in.getDouble();
552
			tempRect.y = in.getDouble();
557
			double x = in.getDouble();
558
			double y = in.getDouble();
553 559

  
554
			tempRect.width = in.getDouble() - tempRect.x;
560
			double x2 = in.getDouble();
555 561

  
556
			if (tempRect.width == 0) {
557
				tempRect.width = 0.2;
558
				tempRect.x -= 0.1;
562
			if (x2-x == 0) {
563
				x2 = 0.2;
564
				x -= 0.1;
559 565
			}
560 566

  
561
			tempRect.height = in.getDouble() - tempRect.y;
567
			double y2 = in.getDouble();
562 568

  
563
			if (tempRect.height == 0) {
564
				tempRect.height = 0.2;
565
				tempRect.y -= 0.1;
569
			if (y2-y == 0) {
570
				y2 = 0.2;
571
				y -= 0.1;
566 572
			}
567

  
573
			IExtent tempRect = new Extent(x,y,x2,y2);
568 574
			return tempRect;
569 575
		}
570 576

  
......
572 578
			return true;
573 579
		}
574 580

  
575
		public List getAllSRS() {
581
		private String getSRS() {
576 582
			// TODO Auto-generated method stub
577 583
			return null;
578 584
		}
579 585

  
580
		public Rectangle2D getBoundingBox2D(long featureIndex) {
586
		public IExtent getBoundingBox(long featureIndex) {
581 587
				Point2D p = new Point2D.Double();
582
				Rectangle2D BoundingBox = new Rectangle2D.Double();
588
				IExtent BoundingBox = null;
583 589
				try {
584 590
					bb.position(getPositionForRecord(featureIndex));
585 591
				}catch (Exception e) {
......
603 609
					case (SHP.POINT2D):
604 610
					case (SHP.POINT3D):
605 611
						p = readPoint(bb);
606
						BoundingBox = new Rectangle2D.Double(p.getX() - 0.1,
607
								p.getY() - 0.1, 0.2, 0.2);
612
						BoundingBox = new Extent(p.getX() - 0.1, p.getY() - 0.1,p.getX()+0.2,p.getY()+0.2);
613
//							new Rectangle2D.Double(p.getX() - 0.1,
614
//								p.getY() - 0.1, 0.2, 0.2);
608 615

  
609 616
						break;
610 617

  
......
653 660

  
654 661
			return auxType;
655 662
		}
663
		public IMetadata getMetadata() {
664
			if (metadata==null){
665
				IMetadataManager manager=MetadataManager.getManager();
666
				metadata=manager.create(DRIVER_NAME);
667
				IExtent extent=getFullExtent();
668
				metadata.set("extent",extent);
669
				String srs=getSRS();
670
				metadata.set("srs",srs);
671
			}
672
			return metadata;
673
		}
656 674
}
trunk/libraries/libDataSourceBaseDrivers/src/org/gvsig/data/datastores/vectorial/driver/shp/ShpFeature.java
1 1
package org.gvsig.data.datastores.vectorial.driver.shp;
2 2

  
3
import java.awt.geom.Rectangle2D;
4 3
import java.util.List;
5 4

  
5
import org.gvsig.data.spatialprovisional.IExtent;
6 6
import org.gvsig.data.vectorial.Feature;
7 7
import org.gvsig.data.vectorial.IFeatureID;
8 8
import org.gvsig.data.vectorial.IFeatureType;
......
24 24
		return new ShpFeatureID(this.driver,featureIndex);
25 25
	}
26 26

  
27
	public Rectangle2D getBoundingBox2D() {
28
		return driver.getBoundingBox2D(featureIndex);
27
	public IExtent getExtent() {
28
		return driver.getBoundingBox(featureIndex);
29 29
	}
30 30

  
31
	public Object getBoundingBox() {
32
		return driver.getBoundingBox2D(featureIndex);
33
	}
34

  
35 31
	public List getAllSRS() {
36 32
		// TODO Auto-generated method stub
37 33
		return null;
......
42 38
		return null;
43 39
	}
44 40

  
45
	public int[] getGeometryTypes() {
46
		IGeometry geometry= (IGeometry)getDefaultGeometry();
47
		if (geometry!=null)
48
			return new int[]{geometry.getGeometryType()};
49
		return null;
50
	}
41
//	public int[] getGeometryTypes() {
42
//		IGeometry geometry= (IGeometry)getDefaultGeometry();
43
//		if (geometry!=null)
44
//			return new int[]{geometry.getGeometryType()};
45
//		return null;
46
//	}
51 47
}
trunk/libraries/libDataSourceBaseDrivers/src/org/gvsig/data/datastores/vectorial/driver/dbf/DBFDriver.java
22 22
import org.gvsig.data.vectorial.IFeatureID;
23 23
import org.gvsig.data.vectorial.IFeatureType;
24 24
import org.gvsig.data.vectorial.expansionadapter.FeatureManager;
25
import org.gvsig.metadata.IMetadata;
26
import org.gvsig.metadata.IMetadataManager;
27
import org.gvsig.metadata.Metadata;
28
import org.gvsig.metadata.MetadataManager;
25 29

  
26 30

  
27 31
public class DBFDriver  extends AbstractDriver {
......
31 35
    protected DbaseFile dbf = new DbaseFile();
32 36
    private IFeatureType featureType;
33 37

  
34
    private DefaultAttributeDescriptor dad=new DefaultAttributeDescriptor();
38
//    private DefaultAttributeDescriptor dad=new DefaultAttributeDescriptor();
35 39
	private File file;
40
	protected IMetadata metadata;
36 41

  
37 42
    public DBFDriver() {
38 43

  
......
187 192
		return DRIVER_NAME;
188 193
	}
189 194

  
190
	public Rectangle2D getFullExtent() {
191
		return null;
192
	}
193

  
194 195
	public boolean isEditable() {
195 196
		if (file.canWrite()) return true;
196 197
		return false;
......
203 204
		return dbf.getRecordCount();
204 205
	}
205 206

  
206
	public List getAllSRS() {
207
		// TODO Auto-generated method stub
208
		return null;
207
	public IMetadata getMetadata() {
208
		if (metadata==null){
209
			IMetadataManager manager=MetadataManager.getManager();
210
			metadata=manager.create(DRIVER_NAME);
211
		}
212
		return metadata;
209 213
	}
210 214
}
trunk/libraries/libDataSourceBaseDrivers/src/org/gvsig/data/datastores/vectorial/driver/dbf/DBFFeature.java
1 1
package org.gvsig.data.datastores.vectorial.driver.dbf;
2 2

  
3
import java.awt.geom.Rectangle2D;
4 3
import java.util.List;
5 4

  
5
import org.gvsig.data.spatialprovisional.IExtent;
6 6
import org.gvsig.data.vectorial.Feature;
7 7
import org.gvsig.data.vectorial.IFeatureID;
8 8
import org.gvsig.data.vectorial.IFeatureType;
......
22 22
		return new DBFFeatureID(this.driver,featureIndex);
23 23
	}
24 24

  
25
	public Rectangle2D getBoundingBox2D() {
25
	public IExtent getExtent() {
26 26
		return null;
27 27
	}
28 28

  
29
	public Object getBoundingBox() {
30
		return null;
31
	}
32

  
33 29
	public List getAllSRS() {
34 30
		return null;
35 31
	}
......
38 34
		return null;
39 35
	}
40 36

  
41
	public int[] getGeometryTypes() {
42
		return null;
43
	}
44 37
}

Also available in: Unified diff