Saturday, 30 June 2012

Book - Satellite Remote Sensing

Satellite Remote Sensing

Satellite Remote Sensing

A New Tool for Archaeology

ISBN 978-90-481-8800-0

  Available here

Each chapter is composed as an authoritative contribution to help the reader grasp the value of its content. The authors are renowned experts from the international scientific community.

Audience: This book will be of interest to scientists in remote sensing applied to archeology, geoarcheology, paleo-environment, paleo-climate and cultural heritage.

  • Provides a collection of outstanding articles focused on advanced satellite data processing, analysis and interpretation for archaeological applications
  • Features examples of the high potentiality of the Integration of EO multitemporal, multiscale, multisensors techniques
  • Includes examples of the integration of EO techniques with other traditional archaeological data source, such as aerial photos, field survey, trials, excavations and historical documentation 
Not one for the faint hearted methinks, but sounds fascinating.

Friday, 22 June 2012

NORTH AMERICA - the visual size of airports

Original article here.

Amazing what simple visualisations can give you.

In a single glance you get the impression of size, and when you put them together in one article like this it is quite apparent which cities have the larger airports.

Very good.


Friday, 12 February 2010

O'Reilly Where 2.0 Conference

In these tough economic times we realize passing on savings to you, our audience, is something worth consideration and importance.


We are extending our early registration pricing until March 1, 2010, which saves you $300 off standard registration. We would also like to include a 25% discount code in addition to the early registration savings. Use discount code, whr10ln and register today.
https://en.oreilly.com/where2010/public/register

Attend sessions like: Haiti: Crisis Mapping the Earthquake by John Crowley (STAR-TIDES), Spatial Analysis and the Geoweb by Jack Dangermond (ESRI), Base Map 2.0, and Shedding Light on Climate Change

Where 2.0, happening March 30-April 1, 2010 at the San Jose Marriott in San Jose, California, encompasses the latest innovations in Mobile, Mapping and Local Opps and Models. To see the full schedule:
http://en.oreilly.com/where2010/public/schedule/full

Tuesday, 19 January 2010

Mapzen POI Collector - Free iPhone OpenStreetMap editor

Mapzen POI Collector - a free, easy to use editor for OpenStreetMap is now available from the App Store. Check it out here:

http://bit.ly/xDRza

Mapzen POI Collector has been designed to be as easy to use as possible and to lower the barriers to entry for new contributors to OSM.

I hope you like it. And apologies for spamming you if you don't have an iPhone!

Friday, 10 August 2007

Example statement 10

Insert a compound line string:

INSERT INTO roads values ('obj_2', mdsys.sdo_geometry(2002, null, null,

mdsys.sdo_elem_info_array(1,4,2,1,2,1,9,2,2),

mdsys.sdo_ordinate_array(15,10, 25,10, 30,5, 38,5, 38,10, 35,15, 25,20)));

Thursday, 9 August 2007

Example statement 09

Select any objects within 1.35 distance units from the query window:

select a.feature_id

from target a

where sdo_within_distance(a.shape, :theWindow, 'distance=1.35') = 'TRUE';

Wednesday, 8 August 2007

Example statement 08

Performs a consistency check to validate a geometry:

select c.name, sdo_geom.validate_geometry(c.shape, m.diminfo)

from cola_markets c, user_sdo_geom_metadata m

where m.table_name = 'COLA_MARKETS' AND m.column_name = 'SHAPE'

and c.name = 'cola_c';

Tuesday, 7 August 2007

Example statement 07

Compute the difference between two geometries:

select sdo_geom.sdo_distance(c_b.shape, m.diminfo, c_d.shape, m.diminfo)

from cola_markets c_b, cola_markets c_d, user_sdo_geom_metadata m

where m.table_name = 'COLA_MARKETS' AND m.column_name = 'SHAPE'

AND c_b.name = 'cola_b' AND c_d.name = 'cola_d';

Monday, 6 August 2007

Example statement 06

Return the minimum bounding rectangle of all geometries in a column:

select sdo_tune.extent_of('cola_markets','shape')

from dual;

Sunday, 5 August 2007

Example statement 05

Create Index:

create index states_geom on states (geom)

indextype is mdsys.spatial_index

parameters ('sdo_level = 7');

Saturday, 4 August 2007

Example statement 04

Estimate tiling level:

select mdsys.sdo_tune.estimate_tiling_level (

'STATES', 'GEOM', 10000, 'LAYER_EXTENT') "ESTIMATE LAYER_EXTENT"

from dual;

Friday, 3 August 2007

Example statement 03

Select all the counties within a certain area:

select sum (mdsys.sdo_geom.sdo_area (c1.geom,

(SELECT diminfo

FROM sdo_geom_metadata

WHERE table_name = 'COUNTIES'

AND column_name = 'GEOM'))) area

from counties c1,

counties c2

where c2.state = 'New Jersey'

and c2.county = 'Passaic'

and mdsys.sdo_relate (c1.geom, c2.geom, 'mask=TOUCH querytype=JOIN') = 'TRUE';


Thursday, 2 August 2007

Example statement 02

Select all the cities within a particular area:

select c.city, c.pop90

from cities c

where mdsys.sdo_relate (

c.location,

mdsys.sdo_geometry (3, null, null,

mdsys.sdo_elem_info_array (1,3,3),

mdsys.sdo_ordinate_array (-109, 37, -102, 40)),

'mask=ANYINTERACT querytype=WINDOW LAYER_GTYPE=POINT') = 'TRUE';

Wednesday, 1 August 2007

Example statement 01

Select all the counties that are around a particular state:

select county, c.state_abrv

from counties c, states s

where s.state = 'FLORIDA'

and mdsys.sdo_filter (c.geom, s.geom, 'querytype=JOIN') = 'TRUE';


Saturday, 28 July 2007

Geometry to csv string

This function will change a geometry into a comma delimited string.

CREATE OR REPLACE FUNCTION geom_to_string (p_geometry IN MDSYS.SDO_GEOMETRY)
RETURN VARCHAR2
AS
str VARCHAR2 (4000) := '';
vgeo MDSYS.SDO_GEOMETRY := p_geometry;
x NUMBER := 0;
y NUMBER := 0;
isi NUMBER := 0;
i NUMBER := 0;
v_dims NUMBER (2) := 0;
BEGIN
v_dims := vgeo.get_dims ();
isi := vgeo.sdo_ordinates.COUNT / v_dims;

FOR i IN 0 .. isi - 1
LOOP
x := vgeo.sdo_ordinates (i * v_dims + 1);
y := vgeo.sdo_ordinates (i * v_dims + 2);
str := str || ',' || FLOOR (x) || ',' || FLOOR (y);
END LOOP;

str := SUBSTR (str, 2, LENGTH (str));
RETURN str;
EXCEPTION
WHEN OTHERS
THEN
RETURN '';
END;


I needed this function to return the x and y co-ordinates as a comma delimited string to a plotting package for display.

Tuesday, 12 June 2007

SRID

You can view the SRID information in existing SDO_GEOMETRY columns with the following

SELECT g.GEOMETRY.SDO_SRID FROM MY_TABLE g;

assuming that MY_TABLE has a sdo_geometry column called geometry.

Well, what is the srid?

SRID stands for Spatial Reference Identifier.

Without setting a SRID all values in Oracle spatial are treated as Cartesian.
Using the UNIT parameter will never be supported (for SDO_NN, SDO_WITHIN_DISTANCE, BUFFER, LENGTH, DISTANCE, AREA, etc).
Coordinate system transformations will never be supported, so you won't be able to use a query window or compare to a geometry that has an SRID set.
Most/all tools support spatial data with a NULL SRID.

The SRID allows the correct projection, transformation and relational operations between different co-ordinate systems. The most commonly used SRID in Oracle Spatial is 8307 which is the whole earth projection WGS84 using latitude and longitude.

The complete list of Oracle SRIDs can be found in the MDSYS.CS_SRS table.

Wednesday, 6 June 2007

Behind Oracle Spatial

Oracle Spatial is installed under the MDSYS user account.

MDSYS is a high privilege account with rights similar to the system accounts. The user account is locked by default on more recent versions of Oracle. If your MDSYS user account is unlocked, lock it immediately, you should never need to login as MDSYS, even to create data.

MDSYS has rights with admin option so it can in turn grant rights to other users.
MDSYS is the owner of all the spatial objects, types, metadata, functions, packages and procedures.

If you have installed locator then the MDSYS schema will contain fewer objects than the full spatial option.

Remember, spatial is a licenceable option. Contact Oracle for pricing in your region.

Thursday, 31 May 2007

Geospatial Viewer


ESRI's ArcGIS Explorer is a lightweight desktop client for ArcGIS Server that yields a common operating picture, in two and three dimensions, while performing queries and analysis on the underlying data. The application accesses the full GIS capabilities of ArcGIS Server, including spatial analysis and 3D services, and can also use data layers and services from ArcIMS and ArcWeb Services. Local data such as shapefiles, file geodatabases, KML, JPEG2000, GeoTIFF, and IMG are supported.

Friday, 25 May 2007

Spatial Structure

The thinking behind spatial.

In an oracle database, spatial data is stored in a layer, which in simple terms can be considered to be a column in a table where the datatype is SDO_GEOMETRY. This is a simplified view of the model underlying Oracle Spatial.

A layer contains one or more geometries (at least one row in the table).
Geometries consist of one or more elements (at least one entry in the geometry object type).

To take a simple example: A point is represented in the layer as a geometry with one element of type point. Points are usually something indicating a specific position like a point of interest.

More complex shapes and are built up by combining more than one element into a geometry. These may, in the real world, be roads, coastlines, borders, rivers or even continents. These are built up by the combination of many elements, each element being a simple type, giving the geometry. In most cases the elements will follow on from each other to build up a complex geometry, but there is no restriction on a geometry having more than one 'shape', so a geometry could contain the 'shapes' for all the countries in Europe or all the States in the USA.

This means that your GIS application can show maps consisting of points of interest and routes.

To recap: The Spatial Model

Layer --> Geometry --> Element --> (point, line, polygon, compound line, compound polygon).

It is usual practice to keep related geometries in the same layer (column), so the 'roads' (one layer) are not mixed with the 'county borders' (separate layer).

Friday, 18 May 2007

Polygons

Different Shapes

A geometry datatype in Oracle can be used to hold any imaginable real world shape.

The shapes are as you would think points, lines, compound lines, polygons and mixtures of all the items in the list. So a single geometry object can "contain" a polygon and lines and points. Though it is not a good idea to (mis)use the sdo_geometry datatype in this way. All of the shape primitives can be further extended from 2D to their 3D equivalents.

I have previously looked at points and will now look at polygons.

  • A polygon encloses an area. In other words, its start and end points are the same.
  • A polygon can contain other polygons which can be thought of as islands or lakes which in turn can contain polygons ad infinitum.
  • A polygon can be optimised by two points (rectangle) or three points (circle).
  • The "sides"of a polygon cannot cross. Self crossing lines are valid. It is allowable to split such a geometry into self contained polygons that when viewed together look like a self crossing polygon.
  • A polygon can be made up of any combination of compound linestrings.

There are many more rules that cover what is and isn't a valid polygon in the oracle documentation.