Georeferencing images in georaster

I've been having problems with SRID too. I can load, georeference and view (in Mapviewer for example) the FIRST image on the right spot on the earth. I am using SRID = 8307 - which is 'Geographic Latitude/Longitude').
Everything looks great.
I am not using a world file while doing the raster import
but calling the sdo_geor.georefence afterwards.
When I try to load a SECOND image, with or without a world file, I get errors like this :
My code (used to load 1st and 2nd image, except for id change):
declare
geor SDO_GEORASTER;
begin
delete from georaster_table where georid = 2;
insert into georaster_table
values( 2, 'TIFF', sdo_geor.init('rdt_geor', 2) );
select georaster into geor
from georaster_table where georid = 2 for update;
sdo_geor.importFrom(geor, '', 'TIFF', 'file', '/tmp/Kaechon_strip.tif');
update georaster_table set georaster = geor where georid = 2;
commit;
end;
ERROR :
declare
ERROR at line 1:
ORA-29877: failed in the execution of the ODCIINDEXUPDATE routine
ORA-13365: layer SRID does not match geometry SRID
ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 348
ORA-06512: at line 1
ORA-06512: at line 10
I don't really know what this means ... more later
If I use the above script to load it does not insert any raster loads, probably becuase of the non-commit.
If I use the java loader it will insert rows into the table and give me the same error. Additionally, it will let me run a "sdo_geor.georeference" command with no complaints ("PL/SQL procedure successfully completed") but isSpatialReferenced, getModelSRID, getSpatialResolutions show no effect. For example:
GEORID isSpatialR isRectifie isOrthoRec
1 TRUE TRUE
2
GEORID ModelSRID Spatial Resolutions
1 8307 SDO_NUMBER_ARRAY(5.5737E-06, 5.5737E-06)
2
... Later...Anyway, my theory of why the load fails is because the SRID of the table is now non-zero, specifically 8307 from the first image, and the loader wants to index it using the new unset SRID.
I tried to set the SRID to 8307 before loading using sdo_geor.setModelSRID. It politely replies "PL/SQL procedure successfully completed" but there appears to be no change:
GEORID ModelSRID Spatial Resolutions
1 8307 SDO_NUMBER_ARRAY(5.5737E-06, 5.5737E-06)
2
I get similar results when I try to ignore the error using the java loader since it seems to have loaded the raster lines. I try to georeference it and it happily says everything is okay but generating the spatial extent fails :
ERROR at line 1:
ORA-13430: the GeoRaster object has null attribute(s)
ORA-06512: at "MDSYS.MD", line 1723
ORA-06512: at "MDSYS.MDERR", line 8
ORA-06512: at "MDSYS.SDO_GEOR", line 893
ORA-06512: at line 4
(Sorry I fogot to save the results of the generateSpatialExtent call).
Anyway, to ask a related question: am I thinking about SRID incorrectly in the first place? I would think that most people would want to use SRID = 8307 since most most folks think in terms of Lat and long. World files are often UTM, so that would be my guess for 2nd most common srid. Are most people using georaster without georeferencing the images?
Thanks.

Hi Rodney,
This is a workflow issue that I think is resolved in the next georaster version. For now, if you can drop your spatial index while loading new georaster imagery into a table, or not spatially index the table until all imagery is loaded that will be the best short term solution.
In answer to your questions:
You are thinking about SRID correctly.
Most people are generating indexes on the spatial extent.
Most people are georeferencing their data.
I'm not sure what the most common SRID people use for their imagery.
Hope this helps..

Similar Messages

  • How to do mosaic for different two georaster object?

    I have done mosaic for single georaster object, But I can't do it for different two georaster object. Oracle returned the error: ORA-13419.
    My PL/SQL code is:
    DECLARE
    gr sdo_georaster;
    BEGIN
    INSERT INTO georaster_table (georid, georaster) VALUES (1, sdo_geor.init('rdt_1')) RETURNING georaster INTO gr;
    sdo_geor.mosaic('city_images', 'image', gr, null);
    UPDATE georaster_table SET georaster=gr WHERE georid=1;
    END;
    There are two rows in city_images.I want to know how to set these data?

    Will,
    in general, all the images should be georeferenced. otherwise it would not make too much sense to do mosaic. so, you might want to load real image data from either georeferenced GeoTIFF files or TIFF plus TFW files.
    but GeoRaster doesn't require the images must be georeferenced. In GeoRaster, any image can have a different ULT coordinate, which doesn't have to be (0,0). This is a special feature of GeoRaster, in considering most formats always treat the upper-left corner pixel of an image as the origin (0,0) only. So in the cell space, non-georeferenced images can be co-located in different areas and so they can be mosaicked as well. specifically, you loaded two GIF files. their current ULT coordinates in georaster must be (0,0). If you setup the UTL coordinates of them differently and properly, then you shall be able to do the mosaicking. the functions you can use are getULTCoordinate and setULTCoordinate.
    hope this helps
    Jeffrey

  • Basic question about querying georaster tables

    hello all
    i have a table with georaster column containing georeferenced images covering large area. can i query the table to get an image covering any user given cooordinates . the user given coordinates can span more than one image in the table. is this possible
    thanks

    Hi,
    Yes this is possible to operate with several GeoRaster images in one or several tables. But before this you should create specific GeoRaster metadata structure to join those separate images. You can find information about this procedure in GeoRaster documentation.
    Regards,
    Andrejus

  • SOS! Please help me about GeoRaster Mapviewer problem!!

    Hi!
    I am very miserable. I want to see GeoRaster Data with MapViewer 10. I have finished all guides but No result. The following details:
    - I load image into Georaster successfully and estable extentspatial, metadata,etc.. as Mapviewer guide for Georaster theme at location 2.3.6.
    - After that, I copy jai_core.jar and jai_codec.jar into ../web/Web-Inf/lib.
    - Then repair MapviewerConfig.xml to respone to my Database.
    - Then at window of Mapviewer, I paste my Map request following:
    xml_request=<?xml version="1.0" standalone="yes" ?>
    <map_request
    title=""
    datasource="ThoaGlobName"
    width="288"
    height="192"
    format="GIF_URL" >
    <themes>
    <theme name="geor_theme" >
    <jdbc_georaster_query
    jdbc_srid="82216"
    datasource="ThoaGlobName"
    georaster_table="ThoaImage"
    georaster_column="Image"
    raster_id="1"
    raster_table="ThoaImageRDT"
    asis="false">
    </jdbc_georaster_query>
    </theme>
    </themes>
    </map_request>
    Then click Submit button.
    I see MapViewer give errors following:
    <?xml version="1.0" encoding="UTF-8" ?>
    <oms_error>Message:[oms] error parsing given xml map request. Fri Sep 29 22:56:18 PDT 2006 Severity: 0 Description: oracle.xml.parser.v2.XMLParseException: Start of root element expected. at oracle.xml.parser.v2.XMLError.flushErrors1(XMLError.java:205) at oracle.xml.parser.v2.NonValidatingParser.parseRootElement(NonValidatingParser.java:305) at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:267) at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:253) at oracle.lbs.mapserver.oms.parse(oms.java:606) at oracle.lbs.mapserver.oms.getXMLDocument(oms.java:864) at oracle.lbs.mapserver.oms.doPost(oms.java:303) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:765) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:317) at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:270) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:112) at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186) at java.lang.Thread.run(Unknown Source)</oms_error>
    PLEASE HELP ME! I do not know where I wrong. It is time for me to post my final test. I am very worried! I am regard high your help.Thank you so much!

    If you take a look in this category of different forums, you will find one that discusses e.g. GeoRaster.

  • MrSID images in Oracle Spatial

    Is it possible to load MrSID images to Oracle Spatial Release 2 and display them as MapViewer image or GeoRaster theme ? Thanks

    Yes, it is. You need to get the MrSID plugin for MapViewer (called Spatial Express for Oracle). For details, go to:
    http://www.lizardtech.com/products/geo/oracle.php
    Dan
    Daniel Abugov
    VP Software Support and Services
    Acquis, Inc.
    [email protected]

  • Mapviewer and georaster...

    Using MapViewer_10(georaster.jsp), I am trying to display a georaster map...
    1. PL/SQL
    create table GEORASTER_TABLE
    (georid number primary key,
    type varchar2(32),
    GEORASTER sdo_georaster);
    call sdo_geor_utl.createDMLTrigger('GEORASTER_TABLE', 'GEORASTER');
    create table RDT_GEOR of sdo_raster
    (primary key (rasterid, pyramidLevel, bandBlockNumber,
    rowBlockNumber, columnBlockNumber))
    lob(rasterblock) store as (nocache nologging);
    commit;
    declare
    geor SDO_GEORASTER;
    begin
    delete from georaster_table where georid = 1;
    insert into georaster_table
    values( 1, 'TIFF', sdo_geor.init('RDT_GEOR', 1) );
    select georaster into geor
    from georaster_table where georid = 1 for update;
    sdo_geor.importFrom(geor, '', 'TIFF', 'file',
    '/u00/SFTP_USER_DIR/img1.tif');
    update georaster_table set georaster = geor where georid = 1;
    commit;
    end;
    declare
    gr1 sdo_georaster;
    begin
    select GEORASTER into gr1
    from GEORASTER_TABLE where georid = 1;
    sdo_geor.changeFormat(gr1, 'blocksize=(256,256,3) interleaving=BIP');
    update GEORASTER_TABLE set GEORASTER = gr1 where georid = 1;
    commit;
    end;
    declare
    gr sdo_georaster;
    begin
    select georaster into gr
    from GEORASTER_TABLE where georid = 1 for update;
    sdo_geor.generatePyramid(gr, 'resampling=NN');
    update GEORASTER_TABLE set georaster = gr where georid = 1;
    commit;
    end;
    DECLARE
    gr sdo_georaster;
    BEGIN
    SELECT georaster INTO gr FROM GEORASTER_TABLE WHERE georid = 1 FOR UPDATE;
    sdo_geor.georeference(gr, 262148, 1,
    sdo_number_array(1,0,1),
    sdo_number_array(0,-1,1));
    UPDATE GEORASTER_TABLE SET georaster = gr WHERE georid = 1;
    COMMIT;
    END;
    /DECLARE
    sptext sdo_geometry;
    BEGIN
    SELECT sdo_geor.generateSpatialExtent(a.georaster) INTO sptext
    FROM GEORASTER_TABLE a WHERE a.georid=1 FOR UPDATE;
    UPDATE GEORASTER_TABLE a SET a.georaster.spatialextent = sptext WHERE
    a.georid=1;
    COMMIT;
    END;
    commit;
    INSERT INTO user_sdo_themes VALUES (
    'GEORASTER_TABLE',
    'GeoTiff image',
    'GEORASTER_TABLE',
    'GEORASTER',
    '<?xml version="1.0" standalone="yes"?>
    <styling_rules theme_type="georaster" raster_table="RDT_GEOR"
    raster_id="1" raster_bands="0,1,2">
    </styling_rules>' );
    commit;
    select v.georid, sdo_geor.validateGeoraster(v.georaster) isvalid from georaster_table v
    -- TRUE --
    select v.georid, sdo_geor.schemavalidate(v.georaster) isvalid from georaster_table v
    -- TRUE --
    2. MapViewer
    Data Sourse: mvdemo
    SRID: 262148
    X center: 0
    Y center: 0
    Map Size: 10
    Request Mode: rasterid
    GeoRaster Table: GEORASTER_TABLE
    GeoRaster Column: GEORASTER
    Raster ID: 1
    Raster Table: RDT_GEOR
    Pyramid Level:
    Bands: 0,1,2
    Query Condition:
    3. Click Submit and see the blue square..........
    What i'm doing wrong?

    Hi Maxim,
    some comments:
    1) To use the georaster.jsp page you don't need to create the predefined theme.
    2) You should register the GeoRaster spatial extent on the metadata view, and also create a spatial index. Something like (the dimension element values are just sample, you should use values that refer to your data):
    INSERT INTO USER_SDO_GEOM_METADATA VALUES
    ( 'georaster_table',
      'georaster.spatialextent',
      SDO_DIM_ARRAY(
        SDO_DIM_ELEMENT('X', 496602.844, 695562.844, 0.000005),
        SDO_DIM_ELEMENT('Y',8788409.499,8973749.499, 0.000005)
      262148 -- SRID
    CREATE INDEX geor_idx ON georaster_table(georaster.spatialextent)
      INDEXTYPE IS MDSYS.SPATIAL_INDEX;3) I think you should review your georeference parameters. I'm seeing resolution equal 1 and the top corner as 1,1. Look the Tiff parameters (resolution and coordinates) and use them.

  • Georaster java  API

    Is there any java source code out there showing how to retrieve an image from georaster? I know that most of the class are included in sdogr.jar but there is no documentation related to it.
    thanks

    You can find some sample java code for georaster at:
    http://otn.oracle.com/sample_code/products/spatial/index.html

  • Intresting problem with sdo_geor.updateRaster

    I found intresting problem (?) with sdo_geor.updateRaster function. I have a large color georeferenced image. When I call the sdo_geor.updateRaster the updated part of source image came grayscaled as if only the one color channel (I've found - red) was translated over other channels. Can anyone check this?
    Script:
    declare
    rsmall sdo_georaster;
    rlarge sdo_georaster;
    clarge sdo_georaster;
    area1 sdo_number_array := sdo_number_array(300, 300, 800, 800);
    area2 sdo_number_array := sdo_number_array(310, 310, 790, 790);
    updateBandsSrc varchar2(5) := null;
    updateBandsDst varchar2(5) := null;
    subsetBands varchar2(5) := null;
    begin
    -- delete existing temporary rasters
    delete from test where id = 2; -- for temporary large raster
    delete from test where id = 3; -- for temporary small raster
    commit;
    -- insert new temporary empty rasters
    insert into test (id, image) values (2, sdo_geor.init('test_rdt'));
    insert into test (id, image) values (3, sdo_geor.init('test_rdt'));
    commit;
    -- sdo_geor.copy for large raster
    select image into rlarge from test where id = 1;
    select image into clarge from test where id = 2 for update;
    sdo_geor.copy(rlarge, clarge);
    update test SET image = clarge WHERE id = 2;
    commit;
    -- large and small rasters for sdo_geor.subset
    select image into clarge from test where id = 2;
    select image into rsmall from test where id = 3 for update;
    sdo_geor.subset(clarge, area1, subsetBands, null, rsmall);
    update test SET image = rsmall WHERE id = 3;
    commit;
    -- large and small rasters for sdo_geor.updateRaster
    select image into rsmall from test where id = 3;
    select image into clarge from test where id = 2 for update;
    sdo_geor.addNODATA(clarge, 0, 0);
    sdo_geor.changeCellValue(clarge, area1, null, 0);
    sdo_geor.updateRaster(clarge, 0, updateBandsDst, area2, rsmall, 0, updateBandsSrc, 'false');
    update test set image = clarge where id = 2;
    commit;
    end;
    The large source image (1494 x 1151) tfw:
    0.4190000000
    -0.0000000000
    0.0000000000
    -0.4190000000
    1321118.6575000002
    467399.0645000000
    Oracle 11.2.0.2.
    Regards,
    Sergey
    Edited by: 869446 on 01.07.2011 4:45

    Hi Jeffrey,
    prvtgr.plbIt's already done. As a result it's improve another problem (mosaic blank images: ORA-06531 problem but doesn't solve current one.
    Original georaster is validated (TRUE).
    XML for ID=1: (large source image)
    <georasterMetadata xmlns="http://xmlns.oracle.com/spatial/georaster">
    <objectInfo>
    <rasterType>21001</rasterType>
    <isBlank>false</isBlank>
    <defaultRed>1</defaultRed>
    <defaultGreen>2</defaultGreen>
    <defaultBlue>3</defaultBlue>
    </objectInfo>
    <rasterInfo>
    <cellRepresentation>UNDEFINED</cellRepresentation>
    <cellDepth>8BIT_U</cellDepth>
    <totalDimensions>3</totalDimensions>
    <dimensionSize type="ROW">
    <size>1151</size>
    </dimensionSize>
    <dimensionSize type="COLUMN">
    <size>1494</size>
    </dimensionSize>
    <dimensionSize type="BAND">
    <size>3</size>
    </dimensionSize>
    <ULTCoordinate>
    <row>0</row>
    <column>0</column>
    <band>0</band>
    </ULTCoordinate>
    <blocking>
    <type>REGULAR</type>
    <totalRowBlocks>5</totalRowBlocks>
    <totalColumnBlocks>6</totalColumnBlocks>
    <totalBandBlocks>1</totalBandBlocks>
    <rowBlockSize>256</rowBlockSize>
    <columnBlockSize>256</columnBlockSize>
    <bandBlockSize>3</bandBlockSize>
    </blocking>
    <interleaving>BSQ</interleaving>
    <pyramid>
    <type>NONE</type>
    </pyramid>
    <compression>
    <type>NONE</type>
    </compression>
    </rasterInfo>
    <spatialReferenceInfo>
    <isReferenced>true</isReferenced>
    <SRID>262148</SRID>
    <spatialResolution dimensionType="X">
    <resolution>0.4189999999998665</resolution>
    </spatialResolution>
    <spatialResolution dimensionType="Y">
    <resolution>0.4189999999999748</resolution>
    </spatialResolution>
    <modelCoordinateLocation>CENTER</modelCoordinateLocation>
    <modelType>FunctionalFitting</modelType>
    <polynomialModel rowOff="0" columnOff="0" xOff="0" yOff="0" zOff="0" rowScale="1" columnScale="1" xScale="1" yScale="1" zScale="1">
    <pPolynomial pType="1" nVars="2" order="1" nCoefficients="3">
    <polynomialCoefficients>1115511.393794816 0 -2.386634844868879</polynomialCoefficients>
    </pPolynomial>
    <qPolynomial pType="1" nVars="0" order="0" nCoefficients="1">
    <polynomialCoefficients>1</polynomialCoefficients>
    </qPolynomial>
    <rPolynomial pType="1" nVars="2" order="1" nCoefficients="3">
    <polynomialCoefficients>-3153027.322196709 2.386634844869496 0</polynomialCoefficients>
    </rPolynomial>
    <sPolynomial pType="1" nVars="0" order="0" nCoefficients="1">
    <polynomialCoefficients>1</polynomialCoefficients>
    </sPolynomial>
    </polynomialModel>
    </spatialReferenceInfo>
    <layerInfo>
    <layerDimension>BAND</layerDimension>
    </layerInfo>
    </georasterMetadata>
    XML for ID=3: (small image)
    <georasterMetadata xmlns="http://xmlns.oracle.com/spatial/georaster">
    <objectInfo>
    <rasterType>21001</rasterType>
    <isBlank>false</isBlank>
    <defaultRed>1</defaultRed>
    <defaultGreen>2</defaultGreen>
    <defaultBlue>3</defaultBlue>
    </objectInfo>
    <rasterInfo>
    <cellRepresentation>UNDEFINED</cellRepresentation>
    <cellDepth>8BIT_U</cellDepth>
    <totalDimensions>3</totalDimensions>
    <dimensionSize type="ROW">
    <size>501</size>
    </dimensionSize>
    <dimensionSize type="COLUMN">
    <size>501</size>
    </dimensionSize>
    <dimensionSize type="BAND">
    <size>3</size>
    </dimensionSize>
    <ULTCoordinate>
    <row>300</row>
    <column>300</column>
    <band>0</band>
    </ULTCoordinate>
    <blocking>
    <type>REGULAR</type>
    <totalRowBlocks>2</totalRowBlocks>
    <totalColumnBlocks>2</totalColumnBlocks>
    <totalBandBlocks>1</totalBandBlocks>
    <rowBlockSize>256</rowBlockSize>
    <columnBlockSize>256</columnBlockSize>
    <bandBlockSize>3</bandBlockSize>
    </blocking>
    <interleaving>BSQ</interleaving>
    <pyramid>
    <type>NONE</type>
    </pyramid>
    <compression>
    <type>NONE</type>
    </compression>
    </rasterInfo>
    <spatialReferenceInfo>
    <isReferenced>true</isReferenced>
    <SRID>262148</SRID>
    <spatialResolution dimensionType="X">
    <resolution>0.4189999999998665</resolution>
    </spatialResolution>
    <spatialResolution dimensionType="Y">
    <resolution>0.4189999999999748</resolution>
    </spatialResolution>
    <modelCoordinateLocation>CENTER</modelCoordinateLocation>
    <modelType>FunctionalFitting</modelType>
    <polynomialModel rowOff="0" columnOff="0" xOff="0" yOff="0" zOff="0" rowScale="1" columnScale="1" xScale="1" yScale="1" zScale="1">
    <pPolynomial pType="1" nVars="2" order="1" nCoefficients="3">
    <polynomialCoefficients>1115511.393794816 0 -2.386634844868879</polynomialCoefficients>
    </pPolynomial>
    <qPolynomial pType="1" nVars="0" order="0" nCoefficients="1">
    <polynomialCoefficients>1</polynomialCoefficients>
    </qPolynomial>
    <rPolynomial pType="1" nVars="2" order="1" nCoefficients="3">
    <polynomialCoefficients>-3153027.322196709 2.386634844869496 0</polynomialCoefficients>
    </rPolynomial>
    <sPolynomial pType="1" nVars="0" order="0" nCoefficients="1">
    <polynomialCoefficients>1</polynomialCoefficients>
    </sPolynomial>
    </polynomialModel>
    </spatialReferenceInfo>
    <layerInfo>
    <layerDimension>BAND</layerDimension>
    </layerInfo>
    </georasterMetadata>
    Regards,
    Sergey

  • Restrictions for sdo_geor.mosaic

    Hi All
    i have a set of georeferenced images which are ready to be mosaiced , in the sense that there is no overlap or gap in between the images. Spatial Index is also created on the table . But still i get error when i do a sdo_geor.mosaic.
    ORA-13419 cannot perform mosaick operation on the specified table column
    All the images have the same resolution, same number of bands . is there any other restriction for the images to be mosaiced.
    i have put the coverage of images on following url
    http://www.geocities.com/jaleelahmed/coverage.html
    each red block is one image (one row in my georaster table)
    Any advice is appreciated.
    Thanks
    Ab

    Ab,
    The beta1 of the next release will be avaialbale in this fall. There is no officially fixed date for the next release yet. The new mosaic would be able to automatically handle this case as long as there is no overlapping. The mosaic object would be sort of sparse so that the missing image tiles would not consume any disk space.
    Still, I think your project is doable using the 10g mosaic as long as the images meet the requirements outlined under the Usage Notes of SDO_GEOR.mosaic in chapter 4 of the GeoRaster manual.
    To make sure you can move forward, one more question:
    are those images rectified and projected into the same projection?
    If so, you should be able to do the mosaic without problem.
    I would recommend you divide and conquer, i.e., split the whole mosaic into several smaller mosaics (sub-areas, such as northeastern area, northwestern area, etc.) first, mosaick them separately, then mosaick these smaller mosaics into the big one as you desire.
    Please note that, for the missing tiles, you will have to make-up them. But it's relatively easy:
    1. call sdo_geor.createBlank with a single cell value such as zero and proper image dimentions sizes. (those blank georaster objects will not store the pixels in RDT and so will not consume space. For the definition of BLANK GeoRaster object please read chapter one of the GeoRaster manual)
    2. georeference each of the blank objects properly so that they are aligned/co-located with your images correctly. (this is the place where you need much time and shall be very careful so that the blank images are georeferenced correctly and meet the requirements of sdo_geor.mosaic)
    Simply for mosaic process, you have an alternative. you actually don't have to geo-spatially georeference each image by leveraging the ULT coordinate feature of GeoRaster. On other words, remove georeferencing info first, then call setULTCoordinate to reset all ULT coordinates of the images so that they are spatially properly located in the GeoRaster cell space. Then do mosaic. After mosaick, you re-georeference the mosaic image by calling sdo_geor.georeference.
    Let us know if you have any problem. This project is very interesting and shall be doable.
    Regards,
    Jeffrey Xie

  • Can not retrieve cell data content From BLOB object.

    I have load Image into Georaster with Raster_Table following:
    create table rdt_1 of mdsys.sdo_raster
    (primary key (rasterId, pyramidLevel, bandBlockNumber,
    rowBlockNumber, columnBlockNumber))
    lob(rasterblock) store as (nocache nologging);
    After I load Image successful, I continue load all cell data into BLOB object by:
    DECLARE
    gr sdo_georaster;
    lb blob;
    BEGIN
    SELECT georaster INTO gr FROM georaster_table WHERE georid=2;
    dbms_lob.createTemporary(lb, FALSE);
    sdo_geor.getRasterData(gr, 0, lb);
    dbms_lob.freeTemporary(lb);
    END;
    Please give me simple PL/SQL to retrieval content from BLOB object!
    Thank You very much!
    YuMi

    BLOB stands for Binary Large OBject. However the acronym has a pleasing affinity with the actual nature of the thing. In a database a BLOB is an undiffereniated mass of bytes. We don't know whether it's a spreadsheet or a word document or an image. So there is no out-of-the-box API for treating a BLOB as it's native file type.
    Having said that there may be something in the Spatial API that works with such things - you might be better off asking the question in Spatial. Although I suspect that venue doesn't get as much through traffic as this one.
    Cheers, APC

  • SOS! Please help me with Expectation Maximization Algorithm!

    I have to image processing with Expectation Maximization Algorithm. I have loaded image into Georaster Object. But I do not know how to prepare data for image processing with EM algorithm. Please help me more details!
    Thanks!
    Thoa

    Hi Thoa,
    This is a general DB question. Try posting your question to that forum:
    General Database Discussions
    Thanks, Mark

  • CS6 Feature request - Auto Blend CMYK

    I need to auto blend CMYK imagery. Unless someone knows how to do this or it's been fixed in Cs5, I'll go ahead and make the request official.
    Feel free to comment

    Thanks for the quick and thoughtful reply Chris. I’m hoping that PS architects like you will see this as an opportunity, no make that a challenge to rise to. Please excuse the long reply.
    While your premise that CMYK conversion is final step in an image editing process may be true for three channels of image data in a conventional prepress workflow, for the type of four band multi-spectral (RGB+IR) imagery that the geospatial community relies on more and more, this conversion is the first step when working in Photoshop.
    We work this way because CMYK is the only color space PS recognizes that maintains data integrity between the RGB and IR channels. It’s not that geospatial imaging professionals like to work like this, heck the imagery looks just awful (before channel reassignment) and we are still limited when trying to do selective color adjustments. But for 90% of editing working in CMYK does the job. Until you need to ‘blend’ large image (multiple GB) composites together (say blend county A imagery into county B imagery)
    Back to the auto align part. Using a wonderful plug-in toolset like Geographic Imager we can “auto-align” previously rectified, georeferenced images into geometrically accurate composite mosaics.  These images originate from many different and competing applications, and my shop uses a few different ways to do it, depending on stuff I have nothing to do with. But, here’s the interesting thing for Adobe – as far as ‘auto’ defining where a seam is created and then ‘auto’ blending that image data together, however Photoshop does this – PS simply kicks ***. With RGB data, our techniques and Photoshop can actually produce technically accurate orthophotography with a high standard of ‘aesthetic’ quality. IOW, it doesn’t look like crap (been to Google Earth lately?).
    All this workflow wonderfulness goes away with multi-spectral, and we keep trying to wrestle it back into a workable solution. Adobe would be wise to take notice of our needs. Geospatial imagery is becoming more and more ubiquitous (just watch your local weather on TV) and my job along with my colleagues is to create value for our customers and differentiate ourselves from our competitors on things other than price. Things like image quality. I still believe Photoshop provides me the best chance to do that, and I don’t see that changing anytime soon…

  • Error loading Map Tile Layer when restart

    Hi all,
    I'm a newbie to Mapviewer. I'm having some problem after i restart the oc4j. Originally, when i insert the image into georaster and some other steps, then i did a xml_request for the map tile. It could load the map originally. When i restart the oc4j, it gives me the following error
    2008-03-11 17:55:28.046 WARNING Cannot list base maps.
    2008-03-11 17:55:28.203 ERROR Error in loading map tile layer config from databa
    se!(TEST,ML1)
    2008-03-11 17:55:28.203 ERROR Base map does not exist. Cannot create internal ma
    p source.(TEST,ML1)
    The mapviewer and app server is on the same domain but the database in on a different domain. When i tried to shift mapviewer to the same domain as the database, it won't cause this problem.
    Could anyone suggest me any solution?
    Message was edited by:
    nvr4getu

    Hi,
    It's pointing to the correct data sources. I've even tried to remove all the map tile and data, then upload again from my test application, it can render the map. However, when i restart the oc4j, the error occur again. Is this a bug of mapviewer that mapviewer must be deploy on the same machine with database?
    Cheng

  • How to retreive entire GEORASTER image.

    Hi,
    I am trying to retrieve entire georaster image from database. Already I had coded how to connect and retrieve a part of georaster image with the help of GEORASTER API. Please look at the below code
    JGeoRaster jGeoRaster = new JGeoRaster(struct);
    GeoRasterImage geoRasterImage = jGeoRaster.getGeoRasterImageObject();
    img = geoRasterImage.getRasterImage(0, 0, 0, 500, 500, new long[4]);
    Here I am able to retrieve only part of the image with given x,y. I want to retrieve entire image from database and save it to georaster image object. I had searched in api document wheather is there any api method is avaliable for getting entire image. But I could'nt find. Please I need help from anybody to sovle my problem.
    Thanks
    Baskar

    Thank you very much Jeffrey.
    With the help of your reply I am understanding the GEORASTER API fully. I have following questions with me. I hope you can reply for my question.
    QUESTION 1 :
    As you said in your previous reply, I tried to get the model co-ordinates of my image like below
    double[] cor = geoRaster.getMetadataObject().getSpatialReferenceInfo().getModelCoordinate(0,0,0);
    My image co-ordinates are :
    Top - 45.9243981481 Left - -70.8435648148 Right - -69.0518980048 Bottom - 43.9668979915
    From the above line I got the top and left model co-ordinates. Likewise How can I get right and bottom co-ordinates? The whole idea is I am trying to find MinX, MinY, MaxX and MaxY something like Envelope.
    QUESTION 2 :
    Most of GEORASTER API takes JGeometry object. I want to know how can we initialte JGeometry object. I tried like below
    ResultSet rs = statement.executeQuery(" query to select GEORASTER data column from GEORASTER table");
    if(rs.next()) {
    STRUCT geor = (oracle.sql.STRUCT) rs.getObject(1);
    JGeometry j = JGeometry.load(geor);
    When i execute above code I am getting the following error
    Exception in thread "main" java.lang.ClassCastException: oracle.sql.CHAR
    at oracle.spatial.geometry.JGeometry.load(JGeometry.java:2981)
    Please I need help anybody how to sovle above two problems.
    thanks
    baskar

  • GeoRaster theme: no rendered images

    I have loaded/validated a georaster. It appears fine in the GeoRasterViewer, and the spatial extent appears fine as a vector theme in Mapviewer. But addGeoRasterTheme in my jsp results in the log warning:
    "GeoRaster theme [themename] has no rendered images."
    Anyone have experience with the root cause of this warning? Does this indicate a problem with the georaster, or a problem with the request? Any feedback is appreciated.

    Here's the log. (the 'exception while getting srid...' is a red flag! Hopefully it will lead to my mistake)
    Tue May 17 11:11:18 GMT-08:00 2005 FINEST [oracle.lbs.mapserver.oms] request= <?xml version="1.0" standalone="yes"?>
    <map_request
    datasource="kingcomv"
    width="500"
    height="400"
    bgcolor="#ffffff"
    antialiase="false"
    format="JPEG_URL">
    <center size="10000.0">
    <geoFeature>
    <geometricProperty typeName="center">
    <Point>
    <coordinates>1301437.0,300000.0</coordinates>
    </Point>
    </geometricProperty>
    </geoFeature>
    </center>
    <themes>
    <theme name="georFootprint">
    <jdbc_query
    spatial_column="geometry"
    render_style="L.THICKBLUE"
    jdbc_srid="41177"
    datasource="kingcomv"
    asis="false">select a.georaster.spatialextent as geometry from georaster a
    </jdbc_query>
    </theme>
    <theme name="themeGeor" min_scale="Infinity" max_scale="-Infinity">
    <jdbc_georaster_query
    georaster_table="GEORASTER"
    georaster_column="GEORASTER"
    raster_table="GEORASTER_RDT1"
    jdbc_srid="41177"
    datasource="kingcomv"
    asis="false">
    </jdbc_georaster_query>
    </theme>
    </themes>
    </map_request>
    Tue May 17 11:11:18 GMT-08:00 2005 FINEST [oracle.sdovis.JSDOGeometry] exception while getting srid from a geometry node: For input string: ""
    Tue May 17 11:11:18 GMT-08:00 2005 DEBUG [oracle.lbs.mapserver.core.MapperPool] getMapper(kingcomv) begins...
    Tue May 17 11:11:18 GMT-08:00 2005 DEBUG [oracle.lbs.mapserver.core.MapperPool] getMapper() succeeded.
    Tue May 17 11:11:18 GMT-08:00 2005 FINEST [oracle.lbs.mapserver.core.RealWorker] adding additional themes...
    Tue May 17 11:11:18 GMT-08:00 2005 FINEST [oracle.lbs.mapserver.core.RealWorker] adding a JDBC Theme:
    ThemeDescriptor=
    name=georFootprint
    type=2
    minScale=Infinity
    maxScale=-Infinity
    srid=41177
    host=null
    sid=null
    port=null
    user=null
    mode=null
    query=select a.georaster.spatialextent as geometry from georaster a
    spatialColumn=geometry
    renderStyleName=L.THICKBLUE
    labelColumn=
    labelStyleName=
    renderStyleDef=null
    labelStyleDef=null
    localThem=null
    Tue May 17 11:11:18 GMT-08:00 2005 FINEST [oracle.lbs.mapserver.core.RealWorker] adding a JDBC GeoRaster Theme:
    ThemeDescriptor=
    name=themeGeor
    type=5
    minScale=Infinity
    maxScale=-Infinity
    srid=41177
    localThem=null
    Tue May 17 11:11:18 GMT-08:00 2005 FINEST [oracle.sdovis.SRS] got srs object for :41177
    Tue May 17 11:11:18 GMT-08:00 2005 FINEST [oracle.sdovis.SRS] *** isGeodetic=false, unit=U.S. FOOT
    Tue May 17 11:11:18 GMT-08:00 2005 DEBUG [oracle.sdovis.DBMapMaker] LoadThemeData running thread: Thread-741
    Tue May 17 11:11:18 GMT-08:00 2005 DEBUG [oracle.sdovis.theme.grtp] [Master scale] 2400.0 [Scale factor for theme themeGeor] 1.0
    Tue May 17 11:11:18 GMT-08:00 2005 DEBUG [oracle.sdovis.theme.grtp] [Query] SELECT * FROM ( select grt.GEORASTER from GEORASTER grt where grt.GEORASTER.rasterid = null ) grt WHERE MDSYS.SDO_FILTER(grt.GEORASTER.spatialextent, MDSYS.SDO_GEOMETRY(2003, 41177, NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1, 1003, 3), MDSYS.SDO_ORDINATE_ARRAY(1295187.0,295000.0,1307687.0,305000.0)), 'querytype=WINDOW') = 'TRUE'
    Tue May 17 11:11:18 GMT-08:00 2005 DEBUG [oracle.sdovis.DBMapMaker] LoadThemeData running thread: Thread-742
    Tue May 17 11:11:18 GMT-08:00 2005 DEBUG [oracle.sdovis.theme.DGTP] [Master scale] 2400.0 [Theme scale factor] 1.0
    Tue May 17 11:11:18 GMT-08:00 2005 FINEST [oracle.sdovis.theme.grtp] # image loaded: 0
    Tue May 17 11:11:18 GMT-08:00 2005 FINEST [oracle.sdovis.theme.DGTP] [DynGeomTheme] rewritten query: SELECT * FROM ( select a.georaster.spatialextent as geometry from georaster a ) WHERE MDSYS.SDO_FILTER(geometry, MDSYS.SDO_GEOMETRY(2003, 41177, NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1, 1003, 3), MDSYS.SDO_ORDINATE_ARRAY(1295187.0,295000.0,1307687.0,305000.0)), 'querytype=WINDOW') = 'TRUE'
    Tue May 17 11:11:18 GMT-08:00 2005 DEBUG [oracle.sdovis.theme.DGTP] Retrieving geometries...
    Tue May 17 11:11:18 GMT-08:00 2005 DEBUG [oracle.sdovis.theme.DGTP] Read all geometries.
    Tue May 17 11:11:18 GMT-08:00 2005 DEBUG [oracle.sdovis.theme.DGTP] [GEORFOOTPRINT] Time spent loading 1 geometries:47ms
    Tue May 17 11:11:18 GMT-08:00 2005 INFO [oracle.sdovis.DBMapMaker] **** time spent on loading features: 47ms.
    Tue May 17 11:11:18 GMT-08:00 2005 FINEST [oracle.sdovis.RE] xfm: 0.04 0.0 0.0 -0.04 -51807.48 12200.0
    Tue May 17 11:11:18 GMT-08:00 2005 FINEST [oracle.sdovis.RE] rendering image theme: themeGeor
    Tue May 17 11:11:18 GMT-08:00 2005 WARN [oracle.sdovis.ImageRenderer] GeoRaster theme themeGeor has no rendered images.
    Tue May 17 11:11:18 GMT-08:00 2005 DEBUG [oracle.sdovis.VectorRenderer] time to render theme GEORFOOTPRINT with 1 styled features: 0ms
    Tue May 17 11:11:18 GMT-08:00 2005 DEBUG [oracle.sdovis.VectorRenderer] time to label theme GEORFOOTPRINT with 1 styled features: 0ms
    Tue May 17 11:11:18 GMT-08:00 2005 INFO [oracle.sdovis.DBMapMaker] **** time spent on rendering: 0ms
    Tue May 17 11:11:18 GMT-08:00 2005 DEBUG [oracle.sdovis.util.JPEGMaker] Time spent on JPEG encoding:15
    Tue May 17 11:11:18 GMT-08:00 2005 DEBUG [oracle.lbs.mapserver.core.MapperPool] freeMapper() begins...
    Tue May 17 11:11:18 GMT-08:00 2005 DEBUG [oracle.lbs.mapserver.core.RealWorker] [RealWorker] preparation time: 47ms
    Tue May 17 11:11:18 GMT-08:00 2005 DEBUG [oracle.lbs.mapserver.core.RealWorker] [RealWorker] querying/rendering time: 62ms
    Tue May 17 11:11:18 GMT-08:00 2005 DEBUG [oracle.lbs.mapserver.core.RealWorker] [RealWorker] packing time: 31ms
    Tue May 17 11:11:18 GMT-08:00 2005 DEBUG [oracle.lbs.mapserver.core.RealWorker] [RealWorker] --------------- total time: 140ms

Maybe you are looking for

  • Help needed with connection problem before I chew off my foot.

    I am on 24/7 with Virgin. From last Friday, my connection telephone number has been constantly engaged. BT tell me it is not a valid number (?). I can access the internet just by changing the number in remote access to the one I'm using now - a pay b

  • GP Background callable object. Error while making a Callable object

    Hi, I have implemented a Background callable object and deployed it to the server. When I try to make a Callable object of this from the Design Time tab in GP, i get the following error msg. *Class does not correctly implement the required interface*

  • Separate clearing document for each invoice wise while posting F-36

    Dear Experts I am posting F-36 Bills of exchange transaction for invoices. I am receiving one BOE for multiple invoices. Requirement is while saving document system should give separate clearing document for each invoice wise. Pls guide me Thanks in

  • Warning host not found in topology

      Hi I am new to Lync. After following tutorial to install Lync Server 2013 (front end) on Server 2012 R2, everything worked like charm. Then I decided to enable external access (another Windows 2012 R2) , so I started with Edge installation. Unfortu

  • Need help for webdynpro requirement.

    Hi Experts, I have a requirement to design the webdynpro application. First i have to create a layout(view).In that view  we create a input fileds as Document id and Component repository id. When we pass these two id's then click on the getdata butto