Revision 25927 branches/v2_0_0_prep/libraries/libFMap_dalfile/src/org/gvsig/fmap/dal/store/dxf/DXFStoreProvider.java
DXFStoreProvider.java | ||
---|---|---|
62 | 62 |
import org.gvsig.fmap.geom.primitive.Circle2D; |
63 | 63 |
import org.gvsig.fmap.geom.primitive.Curve2D; |
64 | 64 |
import org.gvsig.fmap.geom.primitive.Curve2DZ; |
65 |
import org.gvsig.fmap.geom.primitive.DefaultEnvelope; |
|
66 | 65 |
import org.gvsig.fmap.geom.primitive.Ellipse2D; |
67 | 66 |
import org.gvsig.fmap.geom.primitive.Envelope; |
68 | 67 |
import org.gvsig.fmap.geom.primitive.GeneralPathX; |
... | ... | |
388 | 387 |
|
389 | 388 |
public void load() throws DataException { |
390 | 389 |
|
391 |
this.envelope = new DefaultEnvelope(2); // FIXME comprobar
|
|
390 |
this.envelope = null;
|
|
392 | 391 |
|
393 | 392 |
DxfFile.EntityFactory featureMaker = new DxfFeatureMaker(projection); |
394 | 393 |
DxfFile.VarSettings headerManager = new DxfHeaderManager(); |
... | ... | |
451 | 450 |
} |
452 | 451 |
} |
453 | 452 |
|
453 |
|
|
454 |
|
|
454 | 455 |
for (int i = 0; i < features.size(); i++) { |
455 | 456 |
|
456 | 457 |
FeatureData feature = store.createFeatureData(store |
... | ... | |
492 | 493 |
Point point = (Point) fea.getGeometry(); |
493 | 494 |
Point2D pto = new Point2D.Double(); |
494 | 495 |
pto = point.get(0); |
495 |
if (point.isTextPoint()) { |
|
496 |
Geometry geom = gFactory |
|
497 |
.createPoint2D(pto.getX(), |
|
498 |
pto.getY()); |
|
499 |
feature.set(ID_FIELD_GEOMETRY, geom); |
|
500 |
this.envelope.add(geom.getEnvelope()); |
|
496 |
Geometry geom = gFactory.createPoint2D(pto.getX(), pto |
|
497 |
.getY()); |
|
498 |
feature.set(ID_FIELD_GEOMETRY, geom); |
|
499 |
if (this.envelope == null) { |
|
500 |
this.envelope = geom.getEnvelope(); |
|
501 | 501 |
} else { |
502 |
Geometry geom = gFactory |
|
503 |
.createPoint2D(pto.getX(), |
|
504 |
pto.getY()); |
|
505 |
feature.set(ID_FIELD_GEOMETRY, geom); |
|
506 | 502 |
this.envelope.add(geom.getEnvelope()); |
507 | 503 |
} |
504 |
|
|
505 |
if (point.isTextPoint()) { |
|
506 |
/// TODO labeling |
|
507 |
} |
|
508 | 508 |
} else if (fea.getGeometry() instanceof org.cresques.px.gml.Point3D) { |
509 | 509 |
org.cresques.px.gml.Point3D point = (org.cresques.px.gml.Point3D) fea |
510 | 510 |
.getGeometry(); |
511 | 511 |
Point3D pto = new Point3D(); |
512 | 512 |
pto = point.getPoint3D(0); |
513 |
if (point.isTextPoint()) {
|
|
514 |
Geometry geom = gFactory.createPoint3D(pto.getX(),
|
|
515 |
pto.getY(), pto.getZ());
|
|
516 |
feature.set(ID_FIELD_GEOMETRY, geom);
|
|
517 |
this.envelope.add(geom.getEnvelope());
|
|
513 |
Geometry geom = gFactory.createPoint3D(pto.getX(), pto
|
|
514 |
.getY(), pto.getZ());
|
|
515 |
feature.set(ID_FIELD_GEOMETRY, geom);
|
|
516 |
if (this.envelope == null) {
|
|
517 |
this.envelope = geom.getEnvelope();
|
|
518 | 518 |
} else { |
519 |
Geometry geom = gFactory.createPoint3D(pto.getX(), |
|
520 |
pto.getY(), pto.getZ()); |
|
521 |
feature.set(ID_FIELD_GEOMETRY, geom); |
|
522 | 519 |
this.envelope.add(geom.getEnvelope()); |
523 | 520 |
} |
521 |
|
|
522 |
if (point.isTextPoint()) { |
|
523 |
/// TODO labeling |
|
524 |
} |
|
524 | 525 |
} else if (fea.getGeometry() instanceof LineString |
525 | 526 |
&& !(fea.getGeometry() instanceof LineString3D)) { |
526 | 527 |
GeneralPathX genPathX = new GeneralPathX(); |
... | ... | |
534 | 535 |
} |
535 | 536 |
Geometry geom = gFactory.createPolyline2D(genPathX); |
536 | 537 |
feature.set(ID_FIELD_GEOMETRY, geom); |
537 |
this.envelope.add(geom.getEnvelope()); |
|
538 |
if (this.envelope == null) { |
|
539 |
this.envelope = geom.getEnvelope(); |
|
540 |
} else { |
|
541 |
this.envelope.add(geom.getEnvelope()); |
|
542 |
} |
|
538 | 543 |
|
539 | 544 |
} else if (fea.getGeometry() instanceof LineString3D) { |
540 | 545 |
GeneralPathX genPathX = new GeneralPathX(); |
... | ... | |
554 | 559 |
Geometry geom = gFactory.createPolyline3D(genPathX, |
555 | 560 |
elevations); |
556 | 561 |
feature.set(ID_FIELD_GEOMETRY, geom); |
557 |
this.envelope.add(geom.getEnvelope()); |
|
562 |
if (this.envelope == null) { |
|
563 |
this.envelope = geom.getEnvelope(); |
|
564 |
} else { |
|
565 |
this.envelope.add(geom.getEnvelope()); |
|
566 |
} |
|
558 | 567 |
|
559 | 568 |
} else if (fea.getGeometry() instanceof Polygon |
560 | 569 |
&& !(fea.getGeometry() instanceof Polygon3D)) { |
... | ... | |
572 | 581 |
} |
573 | 582 |
Geometry geom = gFactory.createPolygon2D(genPathX); |
574 | 583 |
feature.set(ID_FIELD_GEOMETRY, geom); |
575 |
this.envelope.add(geom.getEnvelope()); |
|
584 |
if (this.envelope == null) { |
|
585 |
this.envelope = geom.getEnvelope(); |
|
586 |
} else { |
|
587 |
this.envelope.add(geom.getEnvelope()); |
|
588 |
} |
|
576 | 589 |
|
577 | 590 |
} else if (fea.getGeometry() instanceof Polygon3D) { |
578 | 591 |
GeneralPathX genPathX = new GeneralPathX(); |
... | ... | |
595 | 608 |
Geometry geom = gFactory.createPolygon2DZ(genPathX, |
596 | 609 |
elevations); |
597 | 610 |
feature.set(ID_FIELD_GEOMETRY, geom); |
598 |
this.envelope.add(geom.getEnvelope()); |
|
611 |
if (this.envelope == null) { |
|
612 |
this.envelope = geom.getEnvelope(); |
|
613 |
} else { |
|
614 |
this.envelope.add(geom.getEnvelope()); |
|
615 |
} |
|
599 | 616 |
} else { |
600 | 617 |
getLogger().warn( |
601 | 618 |
MessageFormat.format( |
... | ... | |
1398 | 1415 |
|
1399 | 1416 |
/* |
1400 | 1417 |
* (non-Javadoc) |
1401 |
*
|
|
1418 |
* |
|
1402 | 1419 |
* @see org.gvsig.metadata.Metadata#getMetadataChildren() |
1403 | 1420 |
*/ |
1404 | 1421 |
public Set getMetadataChildren() { |
... | ... | |
1407 | 1424 |
|
1408 | 1425 |
/* |
1409 | 1426 |
* (non-Javadoc) |
1410 |
*
|
|
1427 |
* |
|
1411 | 1428 |
* @see org.gvsig.metadata.Metadata#getMetadataName() |
1412 | 1429 |
*/ |
1413 | 1430 |
public String getMetadataName() { |
... | ... | |
1416 | 1433 |
|
1417 | 1434 |
/* |
1418 | 1435 |
* (non-Javadoc) |
1419 |
*
|
|
1436 |
* |
|
1420 | 1437 |
* @see |
1421 | 1438 |
* org.gvsig.fmap.dal.resource.spi.ResourceConsumer#resourceChanged(org. |
1422 | 1439 |
* gvsig.fmap.dal.resource.spi.ResourceProvider) |
Also available in: Unified diff