geographical perl modules

Post on 01-Jan-2016

15 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Geographical perl modules. Some etymology. Some etymology. geo'graphy Drawing the Earth. Some etymology. geo'graphy Drawing the Earth geo'metry Measuring the Earth. The interest in geography. The interest in geography. The Open Guide to London - PowerPoint PPT Presentation

TRANSCRIPT

Geographical perl modules

Some etymology

Some etymology

geo'graphyDrawing the Earth

Some etymology

geo'graphyDrawing the Earth

geo'metryMeasuring the Earth

The interest in geography

The interest in geography

The Open Guide to London

Geocache, MUD-London and other web based mapping ideas

The interest in geography

'Grubstreet' had map links with OS grid coordinates (www.streetmap.co.uk)

We can use the X and Y to plot a map.

The interest in geography

X

Y

Find by distance

We know the location of A (X1, Y1)

We know the location of B (X2, Y2)

The distance between them is:Sqrt ( (X2 - X1)^2 + (Y2 - Y1)^2)

And: OS eastings and northings work in Metres

BUT: everyone else uses Latitude and Longitude

The standard for GPS

Works worldwide

The problem

The world is flat

The problem

The world is flat round

Latitude and Longitude are angles

Mercator's Projection

Mercator's Projection

Was designed for nautical use

Preserves angles (azimuth, heading)

Distorts large distances

Works well over short range distances

The Mercator projection is geared to temperate latitudes (e.g. Europe)

Transverse Mercator

Ordnance Survey Grid

Is a transverse Mercator, with false (offset) Easting and Northing.

A perl module exists to convert between OS Grid and Lat/LongGeography::NationalGrid

Geography::NationalGrid

Object Orientated interface

Each object is a location

As parameters to new specify one of the following:Lat/LongOS Grid reference e.g. TQ 1234566 digit Easting and Northing (i.e. X and Y)

Geography::NationalGrid

Method calls include: latitude, longitudegridReferenceeasting, northingdeg2string( $degrees )

Converts an angle to degrees, minutes and seconds

Geography::NationalGrid

Subclassable

Subclasses are used to implement grids for individual countries.

The module comes with:Geography::NationalGrid::GBGeography::NationalGrid::IE

Back to OpenGuides

Location and find_by_distance are based on the Ordnance Survey grid

Back to OpenGuides

Location and find_by_distance are based on the Ordnance Survey grid

The OS charge £££ licence fees to use their data and maps

Back to OpenGuides

Location and find_by_distance are based on the Ordnance Survey grid

The OS charge £££ licence fees to use their data and maps

We want a system that will work outside the UK and Ireland

Why don't we do it ourselves?

Radius of a circle of parallel

R = E cos A

where

E = radius of EarthA = latitude

The radian approximation

For small θ

sin θ < θ < tan θ

θ must be in RADIANS

The radian approximation

For small θ

sin θ < θ < tan θ

θ must be in RADIANS

For a small distance on the groundThe conversion between lat/long and X/Y is

linear

Transverse Mercator revisited

There is an emerging standard, UTMUniversal Transverse Mercator

It is not UK-centric

Problem #2

The world is flat roundsquashed

The Earth is an oblate spheroid

More like the shape of an apple than a ball

Instead of projecting onto a cylinder, we project on to an ellipsoid

To use UTM

You need to specify a datumThis includes an ellipsoid and offsets

(false easting and false northing)

Geo::Coordinates::UTM

Takes an ellipsoid, not a datumHence no internal facility for false easting

or false northing.

Non OO interface.

latlon_to_utm

my ($zone,$east,$north) = latlon_to_utm ( 'clarke 1866', 98.251, 2.562);

utm_to_latlon

my ($lat,$long) = utm_to_latlon ('clarke 1866', '30V', 12554, 41562);

Plug-ins for CGI::Wiki and OpenGuides

CGI::Wiki::Plugin::Locator::UK

CGI::Wiki::Plugin::Locator::UTM

top related