Package org.gdbms.engine.data

Examples of org.gdbms.engine.data.SpatialDataSource


  public void testEditIndexedDB() throws Exception {
    testIndexedEdition("points0", GeometryFactory.createPoint2D(10, 30));
  }

  public void testEditMultipolygonDBTable() throws Exception {
    SpatialDataSource d = (SpatialDataSource) ds
        .getDataSource("pgWithGDBMS");

    GeneralPathX gpx = new GeneralPathX();
    gpx.moveTo(2433.98567845422, 177.104836185899);
    gpx.lineTo(2448.71148490583, 176.999651854102);
    gpx.lineTo(2449.44777522841, 152.70207120894);
    gpx.lineTo(2434.9323374404, 152.807255540738);
    gpx.closePath();
    Geometry g = GeometryFactory.createPolygon2D(gpx);

    d.beginTrans();
    int sfi = d.getSpatialFieldIndex();
    Value gid = ValueFactory.createValue(1);
    for (int i = 0; i < d.getRowCount(); i++) {
      if (((BooleanValue) gid.equals(d.getFieldValue(i, 0))).getValue()) {
        d.setFieldValue(i, sfi, g);
      }
    }
    d.commitTrans();

    d.start();
    Geometry g2 = null;
    for (int i = 0; i < d.getRowCount(); i++) {
      if (((BooleanValue) gid.equals(d.getFieldValue(i, 0))).getValue()) {
        g2 = (Geometry) d.getFieldValue(i, sfi);
      }
    }
    d.stop();

    assertTrue(g.getBounds2D().equals(g2.getBounds2D()));
  }
View Full Code Here


    }
    d.stop();
  }

  private void testMetadata(String dsName) throws Exception {
    SpatialDataSource d = (SpatialDataSource) ds.getDataSource(dsName);

    d.beginTrans();
    d.commitTrans();

    SpatialDataSource d2 = (SpatialDataSource) ds.getDataSource(dsName);
    d2.start();
    d2.stop();

    d.start();
    d2.start();
    Metadata metadata = d.getDataSourceMetadata();
    Metadata modifiedMetadata = d2.getDataSourceMetadata();
    assertTrue(metadata.getFieldCount() == modifiedMetadata.getFieldCount());
    for (int i = 0; i < metadata.getFieldCount(); i++) {
      assertTrue(metadata.getFieldName(i).equals(
          modifiedMetadata.getFieldName(i)));
      assertTrue(metadata.getFieldType(i) == modifiedMetadata
          .getFieldType(i));
      assertTrue(metadata.isReadOnly(i).equals(
          modifiedMetadata.isReadOnly(i)));
    }

    d2.stop();
    d.stop();
  }
View Full Code Here

      assertTrue(ads.isModified());
      ads.rollBackTrans();
    }

    if (d instanceof SpatialDataSource) {
      SpatialDataSource sds = (SpatialDataSource) d;
      sds.beginTrans();
      assertFalse(sds.isModified());
      sds.deleteRow(0);
      assertTrue(sds.isModified());
      sds.rollBackTrans();

      sds.beginTrans();
      assertFalse(sds.isModified());
      sds.insertEmptyRowAt(0);
      assertTrue(sds.isModified());
      sds.rollBackTrans();

      sds.beginTrans();
      assertFalse(sds.isModified());
      sds.insertFilledRowAt(0, sds.getRow(0));
      assertTrue(sds.isModified());
      sds.rollBackTrans();
    }

  }
View Full Code Here

    assertTrue(d.getFullExtent().equals(originalExtent));

  }

  public void testEditedSpatialDataSourceFullExtentFile() throws Exception {
    SpatialDataSource d = (SpatialDataSource) ds.getDataSource("shppuntos",
        DataSourceFactory.UNDOABLE);
    d.beginTrans();
    testEditedSpatialDataSourceFullExtent(d);
    d.commitTrans();

    d.beginTrans();
    d.buildIndex();
    testEditedSpatialDataSourceFullExtent(d);
    d.commitTrans();
  }
View Full Code Here

    testEditedSpatialDataSourceFullExtent(d);
    d.commitTrans();
  }

  public void testEditedSpatialDataSourceFullExtentObject() throws Exception {
    SpatialDataSource d = (SpatialDataSource) ds.getDataSource(
        "spatialobjectpersona", DataSourceFactory.UNDOABLE);
    d.beginTrans();
    testEditedSpatialDataSourceFullExtent(d);
    d.commitTrans();

    d.beginTrans();
    d.buildIndex();
    testEditedSpatialDataSourceFullExtent(d);
    d.commitTrans();
  }
View Full Code Here

    testEditedSpatialDataSourceFullExtent(d);
    d.commitTrans();
  }

  public void testEditedSpatialDataSourceFullExtentDB() throws Exception {
    SpatialDataSource d = (SpatialDataSource) ds.getDataSource("points0",
        DataSourceFactory.UNDOABLE);
    d.start();
    testEditedSpatialDataSourceFullExtent(d);
    d.stop();

    d.start();
    d.buildIndex();
    testEditedSpatialDataSourceFullExtent(d);
    d.stop();
  }
View Full Code Here

        DefaultSpatialDriverMetadata dsdm = new DefaultSpatialDriverMetadata();
        dsdm.addSpatialField("geom", FShape.POINT);
        dsdm.addField("campo2", DBFDriver.STRING, new String[]{DBFDriver.LENGTH}, new String[]{"5"});
        ds.createDataSource(new FileSourceCreation(new File("src/test/puntos_vacio.shp"), dsdm));
       
        SpatialDataSource d = ds.getSpatialDataSource(new File("src/test/puntos_vacio.shp"));
        d.start();
        d.stop();
        assertTrue(true);
    }
View Full Code Here

            }
        }
    }
   
    private void doTest(boolean indexed) throws Exception {
        SpatialDataSource sds = (SpatialDataSource) ds.getDataSource(
                "shppoligonos", DataSourceFactory.UNDOABLE);

        sds.beginTrans();
        if (indexed) {
            sds.buildIndex();
        }
        GeneralPathX cgp = new GeneralPathX();
        cgp.moveTo(0, 0);
        cgp.lineTo(10, 10);
        cgp.lineTo(0, 10);
        Value[] row = sds.getRow(0);
        Value g = GeometryFactory.createPolygon2D(cgp);
        row[sds.getSpatialFieldIndex()] = g;
        sds.insertFilledRow(row);
        compareDataSource(sds);
        sds.setFieldValue(0, sds.getSpatialFieldIndex(), g);
        compareDataSource(sds);
        sds.insertEmptyRow();
        compareDataSource(sds);
        sds.deleteRow(1);
        compareDataSource(sds);
        sds.undo();
        compareDataSource(sds);
        sds.undo();
        compareDataSource(sds);
        sds.undo();
        compareDataSource(sds);
        sds.undo();
        compareDataSource(sds);
        sds.rollBackTrans();

    }
View Full Code Here

      throws Exception {
    Rectangle2D[] bounds = new Rectangle2D[geometries.length];
    for (int i = 0; i < bounds.length; i++) {
      bounds[i] = geometries[i].getBounds2D();
    }
    SpatialDataSource d = (SpatialDataSource) ds.getDataSource(dsName);

    d.beginTrans();
    d.buildIndex();
    int sfi = d.getSpatialFieldIndex();
    long rc = d.getRowCount();
    Value[] row = d.getRow(0);

    for (int i = 0; i < geometries.length; i++) {
      row[sfi] = geometries[i];
      d.insertFilledRow(row);
    }

    for (int i = 0; i < geometries.length; i++) {
      assertTrue(contains(d, d.queryIndex(bounds[i]), geometries[i]));
    }

    for (int i = 0; i < geometries.length; i++) {
      d.setFieldValue(rc + i, sfi, geometries[geometries.length - i - 1]);
    }

    for (int i = 0; i < geometries.length; i++) {
      assertTrue(contains(d, d.queryIndex(bounds[i]),
          geometries[geometries.length - i - 1]));
    }

    for (int i = 0; i < geometries.length; i++) {
      d.deleteRow(rc + i);
    }

    for (int i = 0; i < geometries.length; i++) {
      assertTrue(!contains(d, d.queryIndex(bounds[i]), geometries[i]));
    }

    d.stop();
  }
View Full Code Here

        testFieldInsertionEditionWhileEdition("objectpersona", "INT");
        testFieldInsertionEditionWhileEdition("hsqldbpersona", "INTEGER");
    }

    public void testSpatialFieldEdition() throws Exception {
        SpatialDataSource d = (SpatialDataSource) ds
                .getDataSource("spatialobjectpersona");

        d.beginTrans();
        int sfi = d.getSpatialFieldIndex();
        try {
            d.removeField(sfi);
            assertTrue(false);
        } catch (UnsupportedOperationException e) {
            assertTrue(true);
        }
        d.rollBackTrans();
    }
View Full Code Here

TOP

Related Classes of org.gdbms.engine.data.SpatialDataSource

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.