Go to content Go to navigation and search

Home

Current Manifold Blog Articles


Search

Browse

RSS / Atom

Email me

textpattern

Creative Commons License
All Blog Articles, Data Models and Free Source Code by Simon Greener, The SpatialDB Advisor is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.

Tip #1 - Extracting the Spatial Extent of an Image and Saving in a Drawing

Thursday November 09 2006 at 23:08

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.

Creative Commons License

post this at del.icio.uspost this at Diggpost this at Technoratipost this at Redditpost this at Farkpost this at Yahoo! my webpost this at Windows Livepost this at Google Bookmarkspost this to Twitter

Comment