Go to content Go to navigation and search

Tip #1 - Extracting the Spatial Extent of an Image and Saving in a Drawing · Nov 10, 10:08 am by Simon Greener

This tip comes from a question Atelier Cassini asked on the Directions Magazine discussion list. He writes:

"I would like to create a box drawing around an image. Do I need to know the exact dimension of that image or can I draw it automatically?"

While one cannot do this automatically, one can use a single SQL SELECT statement to extract the boundary of an image and write it into a drawing component.

Let us assume that the target drawing is called "MyDrawing" and that the source image is called "SpatialDBAdvisor".

The method I recommended was to create a new Query component and then add the following SQL SELECT statement into that component.
INSERT INTO MyDrawing ([Geom (I)])
SELECT Project(
         AssignCoordSys(
           CGeom(CGeomWKB(
                      "POLYGON(("&min([Easting (I)])&" "&
                                 min([Northing (I)])&", "&
                                 min([Easting (I)])&" "&
                                 max([Northing (I)])&", "&
                                 max([Easting (I)])&" "&
                                 max([Northing (I)])&", "&
                                 max([Easting (I)])&" "&
                                 min([Northing (I)])&", "&
                                 min([Easting (I)])&" "&
                                 min([Northing (I)])&"))")),
           CoordSys("SpatialDBAdvisor" AS Component)),
           CoordSys("MyDrawing" As Component))
FROM [SpatialDBAdvisor]
If your image data is in geographics (ie Latitude/Longitude) then you should replace the Easting and Northing intrinsics with their Longitude/Latitude equivalents.

I hope this is useful.
  Textile Help