Revision 19441
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