3.7 Georeferencing GeoRaster Objects
Georeferencing, as explained in Georeferencing, establishes the relationship between cell coordinates of GeoRaster data and real-world ground coordinates (or some local coordinates). If you need to georeference GeoRaster objects, the following approaches are available:
- If the original image is already georeferenced and if the georeferencing information
is stored in an ESRI world file or .
rpb
file containing RPC coefficients, then you can use the GeoRaster client-side loader tool (described in GeoRaster Tools: Viewer_ Loader_ Exporter) to load an ESRI world file or .rpb
file from a file, along with the image file itself.Because an ESRI world file or .
rpb
file does not specify the model coordinate system, you can set the model space of the georeferenced GeoRaster object using an Oracle SRID in one of the following ways:- Specify the SRID along with the world file as a parameter to the GeoRaster client-side loader (described in GeoRaster Tools: Viewer_ Loader_ Exporter).
- Call the SDO_GEOR.setModelSRID procedure after loading the world file. You can also call the SDO_GEOR.setModelSRID procedure to change the model space of a georeferenced GeoRaster object.
-
If the original image is a georeferenced GeoTIFF image, you can use the GeoRaster client-side loader tool (described in GeoRaster Tools: Viewer, Loader, Exporter) to load only the georeferencing information from a GeoTIFF image, without the raster image data, into an existing GeoRaster object, by specifying
raster=false
along withgeotiff=true
. You can specify a backup SRID with thesrid
storage parameter, in case the GeoTIFF configuration values do not match any SRID recognized by Oracle Spatial. -
You can use the SDO_GEOR.setSRS procedure to add, modify, and delete georeferencing information by directly accessing the GeoRaster SRS metadata. For example, you can create an SDO_GEOR_SRS object and assign the coefficients and related georeferencing information, and then call the SDO_GEOR.setSRS procedure to add or update the spatial reference information of any GeoRaster object. You can use the SDO_GEOR.setSRS procedure to set up the spatial reference information for all supported functional fitting georeferencing models. Examples of setting up the SRS information from an existing DLT model and from an existing RPC model are included in reference section for the SDO_GEOR.setSRS procedure.
If you know that one GeoRaster object has the same SRS information as another GeoRaster object, you can call the SDO_GEOR.getSRS function to retrieve an SDO_GEOR_SRS object from this GeoRaster object, and then call the SDO_GEOR.setSRS procedure to georeference the first GeoRaster object.
-
If the GeoRaster object can be georeferenced using an affine transformation, you can call the SDO_GEOR.georeference procedure to georeference a GeoRaster object directly. As described in the reference information for the SDO_GEOR.georeference, this procedure takes the coefficients
A
,B
,C
,D
,E
,F
and other information, converts them into the coefficientsa
,b
,c
,d
,e
,f
, and stores them in the spatial reference information of a GeoRaster object. If the original raster data is rectified and if the model coordinate of its origin (upper-left corner) is (x0, y0) and its spatial resolution or scale iss
, then the following are true: A = s, B = 0, C = x0, D = 0, E = -s, F = y0. -
If you have ground control points (GCPs) or want to collect GCPs yourself, you can call the SDO_GEOR.georeference function to georeference the GeoRaster object. For more information, see Advanced Georeferencing.
Based on the SRS information of a georeferenced GeoRaster object, transforming GeoRaster coordinate information means finding the model (ground) coordinate associated with a specific cell (raster) coordinate, and the reverse. That is, you can do the following:
-
Given a specific cell coordinate, you can find the associated model space coordinate using the SDO_GEOR.getModelCoordinate function. For example, if you identify a point in an image, you can find the longitude and latitude coordinates associated with that point.
-
Given a model space coordinate, you can find the associated cell coordinate using the SDO_GEOR.getCellCoordinate function. For example, if you identify longitude and latitude coordinates, you can find the cell in an image associated with those coordinates.
Parent topic: GeoRaster Database Creation and Management