Examples of SeExtent


Examples of com.esri.sde.sdk.client.SeExtent

         * center of the bottom right pixel
         */
        int imageWidth = -1 + rasterAttributes.getImageWidthByLevel(level);
        int imageHeight = -1 + rasterAttributes.getImageHeightByLevel(level);

        SeExtent levelExtent = rasterAttributes.getExtentByLevel(level);
        double minx = levelExtent.getMinX();
        double miny = levelExtent.getMinY();
        double maxx = levelExtent.getMaxX();
        double maxy = levelExtent.getMaxY();
        double w = maxx - minx;
        double h = maxy - miny;

        double resx = w / imageWidth;
        double resy = h / imageHeight;
View Full Code Here

Examples of com.esri.sde.sdk.client.SeExtent

            LOGGER.info("Creating the SeCoordRef object for CRS " + crs);
            WKT = crs.toWKT();
            coordref.setCoordSysByDescription(WKT);
        }

        SeExtent validCoordRange = null;

        if ((WKT != null) && (WKT.indexOf("GEOGCS") != -1)) {
            validCoordRange = new SeExtent(-180, -90, 180, 90);
        } else {
            validCoordRange = coordref.getXYEnvelope();
        }

        layer.setExtent(validCoordRange);
View Full Code Here

Examples of com.esri.sde.sdk.client.SeExtent

     */
    private static SeCoordinateReference getGenericCoordRef() throws SeException {
        // create a sde CRS with a huge value range and 5 digits of presission
        SeCoordinateReference seCRS = new SeCoordinateReference();
        int shift = 600000;
        SeExtent validRange = new SeExtent(-shift, -shift, shift, shift);
        seCRS.setXYByEnvelope(validRange);
        LOGGER.info("CRS: " + seCRS.getXYEnvelope());

        return seCRS;
    }
View Full Code Here

Examples of com.esri.sde.sdk.client.SeExtent

     */
    public Envelope calculateQueryExtent() throws IOException {

        LOGGER.fine("Building a new SeQuery to consult it's resulting envelope");

        final SeExtent extent;
        try {
            extent = session.issue(new Command<SeExtent>() {
                @Override
                public SeExtent execute(ISession session, SeConnection connection)
                        throws SeException, IOException {

                    final String[] queryColumns;
                    {
                        List<String> cols = new ArrayList<String>(2);
                        String geomCol = schema.getGeometryDescriptor().getLocalName();
                        geomCol = filters.getSqlEncoder().getColumnDefinition(geomCol);
                       
                        String fidAtt;
                        if (fidReader.getFidColumn() == null) {
                            fidAtt = schema.getDescriptor(0).getLocalName();
                        } else {
                            fidAtt = fidReader.getFidColumn();
                        }
                        cols.add(fidAtt);
                        queryColumns = cols.toArray(new String[cols.size()]);
                    }

                    // fullConstruct may hold information about multiple tables in case of an
                    // in-process view
                    final SeSqlConstruct fullConstruct = filters.getQueryInfo(queryColumns)
                            .getConstruct();
                    String whereClause = fullConstruct.getWhere();
                    if (whereClause == null) {
                        /*
                         * we really need a where clause or will get a famous -51 DATABASE LEVEL
                         * ERROR with no other explanation on some oracle databases
                         */
                        whereClause = "1 = 1";
                    }
                    final SeFilter[] spatialConstraints = filters.getSpatialFilters();

                    SeExtent extent;

                    final SeQuery extentQuery = new SeQuery(connection);
                    try {
                        versioningHandler.setUpStream(session, extentQuery);

                        if (spatialConstraints.length > 0) {
                            extentQuery.setSpatialConstraints(SeQuery.SE_OPTIMIZE, false,
                                    spatialConstraints);
                        }

                        SeSqlConstruct sqlCons = new SeSqlConstruct();
                        sqlCons.setTables(fullConstruct.getTables());
                        sqlCons.setWhere(whereClause);

                        final SeQueryInfo seQueryInfo = new SeQueryInfo();
                        seQueryInfo.setColumns(queryColumns);
                        seQueryInfo.setConstruct(sqlCons);

                        extent = extentQuery.calculateLayerExtent(seQueryInfo);
                    } finally {
                        extentQuery.close();
                    }

                    return extent;
                }
            });
        } catch (IOException ex) {
            SeSqlConstruct sqlCons = this.filters.getSeSqlConstruct();
            String sql = (sqlCons == null) ? null : sqlCons.getWhere();
            String tables = (sqlCons == null) ? null : Arrays.asList(sqlCons.getTables())
                    .toString();
            if (ex.getCause() instanceof SeException) {
                SeException sdeEx = (SeException) ex.getCause();
                if (sdeEx.getSeError().getSdeError() == -288) {
                    // gah, the dreaded 'LOGFILE SYSTEM TABLES DO NOT EXIST'
                    // error.
                    // this error is worthless. Make it quiet, at least.
                    LOGGER.severe("ArcSDE is complaining that your 'LOGFILE SYSTEM "
                            + "TABLES DO NOT EXIST'.  This is an ignorable error.");
                }
            }
            LOGGER.log(Level.SEVERE, "***********************\ntables: " + tables + "\nfilter: "
                    + this.filters.getGeometryFilter() + "\nSQL: " + sql, ex);
            throw ex;
        }

        Envelope envelope = new Envelope(extent.getMinX(), extent.getMaxX(), extent.getMinY(),
                extent.getMaxY());
        if (LOGGER.isLoggable(Level.FINE)) {
            LOGGER.fine("got extent: " + extent + ", built envelope: " + envelope);
        }
        return envelope;
    }
View Full Code Here

Examples of com.esri.sde.sdk.client.SeExtent

                SeCoordinateReference coordref = getGenericCoordRef();

                // SeExtent ext = new SeExtent(-1000000.0, -1000000.0,
                // 1000000.0,
                // 1000000.0);
                SeExtent ext = coordref.getXYEnvelope();
                layer.setExtent(ext);
                layer.setCoordRef(coordref);

                layer.setCreationKeyword(configKeyword);
View Full Code Here

Examples of com.esri.sde.sdk.client.SeExtent

        SeCoordinateReference seCRS = new SeCoordinateReference();
        final String wgs84WKT = DefaultGeographicCRS.WGS84.toWKT();
        seCRS.setCoordSysByDescription(wgs84WKT);
        // seCRS.setPrecision(1000);
        seCRS.setXYByEnvelope(new SeExtent(-180, -90, 180, 90));
        return seCRS;
    }
View Full Code Here

Examples of com.esri.sde.sdk.client.SeExtent

                    SeCoordinateReference coordref = getGenericCoordRef();

                    // SeExtent ext = new SeExtent(-1000000.0, -1000000.0,
                    // 1000000.0,
                    // 1000000.0);
                    SeExtent ext = coordref.getXYEnvelope();
                    layer.setExtent(ext);
                    layer.setCoordRef(coordref);

                    layer.setCreationKeyword(configKeyword);
View Full Code Here

Examples of com.esri.sde.sdk.client.SeExtent

                layer.setShapeTypes(SeLayer.SE_NIL_TYPE_MASK | SeLayer.SE_POINT_TYPE_MASK);
                layer.setGridSizes(1100.0, 0.0, 0.0);
                layer.setDescription("Layer Example");

                SeExtent ext = new SeExtent(0.0, 0.0, 10000.0, 10000.0);
                layer.setExtent(ext);

                /*
                 * Define the layer's Coordinate Reference
                 */
 
View Full Code Here

Examples of com.esri.sde.sdk.client.SeExtent

        return rasterColumns;
    }

    private GeneralEnvelope calculateOriginalEnvelope(final SeRasterAttr rasterAttributes,
            CoordinateReferenceSystem coverageCrs) throws IOException {
        SeExtent sdeExtent;
        try {
            sdeExtent = rasterAttributes.getExtent();
        } catch (SeException e) {
            throw new ArcSdeException("Exception getting the raster extent", e);
        }
        GeneralEnvelope originalEnvelope = new GeneralEnvelope(coverageCrs);
        originalEnvelope.setRange(0, sdeExtent.getMinX(), sdeExtent.getMaxX());
        originalEnvelope.setRange(1, sdeExtent.getMinY(), sdeExtent.getMaxY());
        return originalEnvelope;
    }
View Full Code Here

Examples of com.esri.sde.sdk.client.SeExtent

        final SeQueryInfo qInfo = new SeQueryInfo();
        qInfo.setConstruct(sql);

        // add a bounding box filter and verify both spatial and non spatial
        // constraints affects the COUNT statistics
        SeExtent extent = new SeExtent(-180, -90, -170, -80);

        SeLayer layer = session.getLayer(typeName);
        SeShape filterShape = new SeShape(layer.getCoordRef());
        filterShape.generateRectangle(extent);
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.