geo streetaddress us
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 70
Geo::StreetAddress::US 0.99
Geo::StreetAddress::US is a Perl extension for parsing US street addresses. more>>
Geo::StreetAddress::US is a Perl extension for parsing US street addresses.
SYNOPSIS
use Geo::StreetAddress::US;
my $hashref = Geo::StreetAddress::US->parse_location(
"1005 Gravenstein Hwy N, Sebastopol CA 95472" );
my $hashref = Geo::StreetAddress::US->parse_location(
"Hollywood & Vine, Los Angeles, CA" );
my $hashref = Geo::StreetAddress::US->parse_address(
"1600 Pennsylvania Ave, Washington, DC" );
my $hashref = Geo::StreetAddress::US->parse_intersection(
"Mission Street at Valencia Street, San Francisco, CA" );
my $normal = Geo::StreetAddress::US->normalize_address( %spec );
# the parse_* methods call this automatically...
Geo::StreetAddress::US is a regex-based street address and street intersection parser for the United States. Its basic goal is to be as forgiving as possible when parsing user-provided address strings.
Geo::StreetAddress::US knows about directional prefixes and suffixes, fractional building numbers, building units, grid-based addresses (such as those used in parts of Utah), 5 and 9 digit ZIP codes, and all of the official USPS abbreviations for street types and state names.
<<lessSYNOPSIS
use Geo::StreetAddress::US;
my $hashref = Geo::StreetAddress::US->parse_location(
"1005 Gravenstein Hwy N, Sebastopol CA 95472" );
my $hashref = Geo::StreetAddress::US->parse_location(
"Hollywood & Vine, Los Angeles, CA" );
my $hashref = Geo::StreetAddress::US->parse_address(
"1600 Pennsylvania Ave, Washington, DC" );
my $hashref = Geo::StreetAddress::US->parse_intersection(
"Mission Street at Valencia Street, San Francisco, CA" );
my $normal = Geo::StreetAddress::US->normalize_address( %spec );
# the parse_* methods call this automatically...
Geo::StreetAddress::US is a regex-based street address and street intersection parser for the United States. Its basic goal is to be as forgiving as possible when parsing user-provided address strings.
Geo::StreetAddress::US knows about directional prefixes and suffixes, fractional building numbers, building units, grid-based addresses (such as those used in parts of Utah), 5 and 9 digit ZIP codes, and all of the official USPS abbreviations for street types and state names.
Download (0.010MB)
Added: 2006-09-25 License: Perl Artistic License Price:
1124 downloads
Data::Faker::StreetAddress 0.07
Data::Faker::StreetAddress is a Data::Faker plugin. more>>
Data::Faker::StreetAddress is a Data::Faker plugin.
DATA PROVIDERS
us_zip_code
Return a random zip or zip+4 zip code in the US zip code format. Note that this is not necessarily a valid zip code, just a 5 or 9 digit number in the correct format.
us_state
Return a random US state name.
us_state_abbr
Return a random US state abbreviation. (Includes US Territories and AE, AA, AP military designations.)
From the USPS list at http://www.usps.com/ncsc/lookups/usps_abbreviations.html
street_suffix
Return a random street suffix (Drive, Street, Road, etc.)
From the USPS list at http://www.usps.com/ncsc/lookups/usps_abbreviations.html
street_name
Return a fake street name.
street_address
Return a fake street address.
secondary_unit_designator
Return a random secondary unit designator, with a range if needed (secondary unit designators are things like apartment number, building number, suite, penthouse, etc that differentiate different units with a common address.)
secondary_unit_number
Return a random secondary unit number, for the secondary unit designators that take ranges.
<<lessDATA PROVIDERS
us_zip_code
Return a random zip or zip+4 zip code in the US zip code format. Note that this is not necessarily a valid zip code, just a 5 or 9 digit number in the correct format.
us_state
Return a random US state name.
us_state_abbr
Return a random US state abbreviation. (Includes US Territories and AE, AA, AP military designations.)
From the USPS list at http://www.usps.com/ncsc/lookups/usps_abbreviations.html
street_suffix
Return a random street suffix (Drive, Street, Road, etc.)
From the USPS list at http://www.usps.com/ncsc/lookups/usps_abbreviations.html
street_name
Return a fake street name.
street_address
Return a fake street address.
secondary_unit_designator
Return a random secondary unit designator, with a range if needed (secondary unit designators are things like apartment number, building number, suite, penthouse, etc that differentiate different units with a common address.)
secondary_unit_number
Return a random secondary unit number, for the secondary unit designators that take ranges.
Download (0.020MB)
Added: 2006-10-25 License: Perl Artistic License Price:
1100 downloads
Geo::Raster 0.42
Geo::Raster is a Perl extension for raster algebra. more>>
Geo::Raster is a Perl extension for raster algebra.
SYNOPSIS
use Geo::Raster;
or
use Geo::Raster qw(:types);
or
use Geo::Raster qw(:types :logics :db);
Geo::Raster is an object-oriented interface to libral, a C library for rasters and raster algebra. Geo::Raster makes using libral easy and adds some very useful functionality to it. libral rasters are in-memory for fast and easy processing. libral rasters can be created from GDAL rasters. GDAL provides access to rasters in many formats.
Geo::Raster also adds the required functionality to display rasters in Gtk2::Ex::Geo.
Each cell in raster/grid is assumed to be a square.
The grid point represents the center of the cell and not the area of the cell (when such distinction needs to be made). TODO: This needs more attention.
A grid is indexed like this:
j = 0..N-1
------------------>
.
i = 0..M-1 .
.
.
V
there is also a (x,y) world coordinate system
maxY ^
.
.
y .
minY .
------------------>
minX maxX
x
minX is the left edge of first cell in line. maxX is the right edge of the last cell in a line. minY and maxY represent similarly the boundaries of the raster.
<<lessSYNOPSIS
use Geo::Raster;
or
use Geo::Raster qw(:types);
or
use Geo::Raster qw(:types :logics :db);
Geo::Raster is an object-oriented interface to libral, a C library for rasters and raster algebra. Geo::Raster makes using libral easy and adds some very useful functionality to it. libral rasters are in-memory for fast and easy processing. libral rasters can be created from GDAL rasters. GDAL provides access to rasters in many formats.
Geo::Raster also adds the required functionality to display rasters in Gtk2::Ex::Geo.
Each cell in raster/grid is assumed to be a square.
The grid point represents the center of the cell and not the area of the cell (when such distinction needs to be made). TODO: This needs more attention.
A grid is indexed like this:
j = 0..N-1
------------------>
.
i = 0..M-1 .
.
.
V
there is also a (x,y) world coordinate system
maxY ^
.
.
y .
minY .
------------------>
minX maxX
x
minX is the left edge of first cell in line. maxX is the right edge of the last cell in a line. minY and maxY represent similarly the boundaries of the raster.
Download (0.087MB)
Added: 2007-06-27 License: Perl Artistic License Price:
853 downloads
Geo::Distance 0.11
Geo::Distance is a Perl module that can calculate distances and closest locations. more>>
Geo::Distance is a Perl module that can calculate distances and closest locations.
SYNOPSIS
use Geo::Distance;
my $geo = new Geo::Distance;
$geo->formula(hsin);
$geo->reg_unit( toad_hop, 200120 );
$geo->reg_unit( frog_hop => 6 => toad_hop );
my $distance = $geo->distance( unit_type, $lon1,$lat1 => $lon2,$lat2 );
my $locations = $geo->closest(
dbh => $dbh,
table => $table,
lon => $lon,
lat => $lat,
unit => $unit_type,
distance => $dist_in_unit
);
This perl library aims to provide as many tools to make it as simple as possible to calculate distances between geographic points, and anything that can be derived from that. Currently there is support for finding the closest locations within a specified distance, to find the closest number of points to a specified point, and to do basic point-to-point distance calculations.
METHODS
new
my $geo = new Geo::Distance;
my $geo = new Geo::Distance( no_units=>1 );
Returns a blessed Geo::Distance object. The new constructor accepts one optional argument.
no_units - Whether or not to load the default units. Defaults to 0 (false).
kilometer, kilometre, meter, metre, centimeter, centimetre, millimeter,
millimetre, yard, foot, inch, light second, mile, nautical mile,
poppy seed, barleycorn, rod, pole, perch, chain, furlong, league,
fathom
formula
if($geo->formula eq hsin){ ... }
$geo->formula(cos);
Allows you to retrieve and set the formula that is currently being used to calculate distances. The availabel formulas are hsin, polar, cos, and mt. hsin is the default and mt/cos are depreciated in favor of hsin. polar should be used when calculating coordinates near the poles.
reg_unit
$geo->reg_unit( $radius, $key );
$geo->reg_unit( $key1 => $key2 );
$geo->reg_unit( $count1, $key1 => $key2 );
$geo->reg_unit( $key1 => $count2, $key2 );
$geo->reg_unit( $count1, $key1 => $count2, $key2 );
This method is used to create custom unit types. There are several ways of calling it, depending on if you are defining the unit from scratch, or if you are basing it off of an existing unit (such as saying 12 inches = 1 foot ). When defining a unit from scratch you pass the name and rho (radius of the earth in that unit) value.
So, if you wanted to do your calculations in human adult steps you would have to have an average human adult walk from the crust of the earth to the core (ignore the fact that this is impossible). So, assuming we did this and we came up with 43,200 steps, youd do something like the following.
# Define adult step unit.
$geo->reg_unit( 43200, adult step );
# This can be read as "It takes 43,200 adult_steps to walk the radius of the earth".
Now, if you also wanted to do distances in baby steps you might think "well, now I gotta get a baby to walk to the center of the earth". But, you dont have to! If you do some research youll find (no research was actually conducted) that there are, on average, 4.7 baby steps in each adult step.
# Define baby step unit.
$geo->reg_unit( 4.7, baby step => adult step );
# This can be read as "4.7 baby steps is the same as one adult step".
And if we were doing this in reverse and already had the baby step unit but not the adult step, you would still use the exact same syntax as above.
distance
my $distance = $geo->distance( unit_type, $lon1,$lat1 => $lon2,$lat2 );
Calculates the distance between two lon/lat points.
closest
my $locations = $geo->closest(
dbh => $dbh,
table => $table,
lon => $lon,
lat => $lat,
unit => $unit_type,
distance => $dist_in_unit
);
This method finds the closest locations within a certain distance and returns an array reference with a hash for each location matched.
The closest method requires the following arguments:
dbh - a DBI database handle
table - a table within dbh that contains the locations to search
lon - the longitude of the center point
lat - the latitude of the center point
unit - the unit of measurement to use, such as "meter"
distance - the distance, in units, from the center point to find locations
The following arguments are optional:
lon_field - the name of the field in the table that contains the longitude, defaults to "lon"
lat_field - the name of the field in the table that contains the latitude, defaults to "lat"
fields - an array reference of extra field names that you would like returned with each location
where - additional rules for the where clause of the sql
bind - an array reference of bind variables to go with the placeholders in where
sort - whether to sort the locations by their distance, making the closest location the first returned
count - return at most these number of locations (implies sort => 1)
This method uses some very simplistic calculations to SQL select out of the dbh. This means that the SQL should work fine on almost any database (only tested on MySQL and SQLite so far) and this also means that it is fast. Once this sub set of locations has been retrieved then more precise calculations are made to narrow down the result set. Remember, though, that the farther out your distance is, and the more locations in the table, the slower your searches will be.
<<lessSYNOPSIS
use Geo::Distance;
my $geo = new Geo::Distance;
$geo->formula(hsin);
$geo->reg_unit( toad_hop, 200120 );
$geo->reg_unit( frog_hop => 6 => toad_hop );
my $distance = $geo->distance( unit_type, $lon1,$lat1 => $lon2,$lat2 );
my $locations = $geo->closest(
dbh => $dbh,
table => $table,
lon => $lon,
lat => $lat,
unit => $unit_type,
distance => $dist_in_unit
);
This perl library aims to provide as many tools to make it as simple as possible to calculate distances between geographic points, and anything that can be derived from that. Currently there is support for finding the closest locations within a specified distance, to find the closest number of points to a specified point, and to do basic point-to-point distance calculations.
METHODS
new
my $geo = new Geo::Distance;
my $geo = new Geo::Distance( no_units=>1 );
Returns a blessed Geo::Distance object. The new constructor accepts one optional argument.
no_units - Whether or not to load the default units. Defaults to 0 (false).
kilometer, kilometre, meter, metre, centimeter, centimetre, millimeter,
millimetre, yard, foot, inch, light second, mile, nautical mile,
poppy seed, barleycorn, rod, pole, perch, chain, furlong, league,
fathom
formula
if($geo->formula eq hsin){ ... }
$geo->formula(cos);
Allows you to retrieve and set the formula that is currently being used to calculate distances. The availabel formulas are hsin, polar, cos, and mt. hsin is the default and mt/cos are depreciated in favor of hsin. polar should be used when calculating coordinates near the poles.
reg_unit
$geo->reg_unit( $radius, $key );
$geo->reg_unit( $key1 => $key2 );
$geo->reg_unit( $count1, $key1 => $key2 );
$geo->reg_unit( $key1 => $count2, $key2 );
$geo->reg_unit( $count1, $key1 => $count2, $key2 );
This method is used to create custom unit types. There are several ways of calling it, depending on if you are defining the unit from scratch, or if you are basing it off of an existing unit (such as saying 12 inches = 1 foot ). When defining a unit from scratch you pass the name and rho (radius of the earth in that unit) value.
So, if you wanted to do your calculations in human adult steps you would have to have an average human adult walk from the crust of the earth to the core (ignore the fact that this is impossible). So, assuming we did this and we came up with 43,200 steps, youd do something like the following.
# Define adult step unit.
$geo->reg_unit( 43200, adult step );
# This can be read as "It takes 43,200 adult_steps to walk the radius of the earth".
Now, if you also wanted to do distances in baby steps you might think "well, now I gotta get a baby to walk to the center of the earth". But, you dont have to! If you do some research youll find (no research was actually conducted) that there are, on average, 4.7 baby steps in each adult step.
# Define baby step unit.
$geo->reg_unit( 4.7, baby step => adult step );
# This can be read as "4.7 baby steps is the same as one adult step".
And if we were doing this in reverse and already had the baby step unit but not the adult step, you would still use the exact same syntax as above.
distance
my $distance = $geo->distance( unit_type, $lon1,$lat1 => $lon2,$lat2 );
Calculates the distance between two lon/lat points.
closest
my $locations = $geo->closest(
dbh => $dbh,
table => $table,
lon => $lon,
lat => $lat,
unit => $unit_type,
distance => $dist_in_unit
);
This method finds the closest locations within a certain distance and returns an array reference with a hash for each location matched.
The closest method requires the following arguments:
dbh - a DBI database handle
table - a table within dbh that contains the locations to search
lon - the longitude of the center point
lat - the latitude of the center point
unit - the unit of measurement to use, such as "meter"
distance - the distance, in units, from the center point to find locations
The following arguments are optional:
lon_field - the name of the field in the table that contains the longitude, defaults to "lon"
lat_field - the name of the field in the table that contains the latitude, defaults to "lat"
fields - an array reference of extra field names that you would like returned with each location
where - additional rules for the where clause of the sql
bind - an array reference of bind variables to go with the placeholders in where
sort - whether to sort the locations by their distance, making the closest location the first returned
count - return at most these number of locations (implies sort => 1)
This method uses some very simplistic calculations to SQL select out of the dbh. This means that the SQL should work fine on almost any database (only tested on MySQL and SQLite so far) and this also means that it is fast. Once this sub set of locations has been retrieved then more precise calculations are made to narrow down the result set. Remember, though, that the farther out your distance is, and the more locations in the table, the slower your searches will be.
Download (0.010MB)
Added: 2007-07-24 License: Perl Artistic License Price:
824 downloads
Geo::Coordinates::OSGB 1.07
Geo::Coordinates::OSGB is a Perl module that can convert coordinates from Lat/Long to UK Grid. more>>
Geo::Coordinates::OSGB is a Perl module that can convert coordinates from Lat/Long to UK Grid.
A UK-specific implementation of co-ordinate conversion, following formulae from the Ordnance Survey of Great Britain (hence the name).
SYNOPSIS
use Geo::Coordinates::OSGB qw(ll2grid grid2ll);
# basic conversion routines
($easting,$northing) = ll2grid($lat,$lon);
($lat,$long) = grid2ll($easting,$northing);
# format full easting and northing into traditional formats
$trad_gr = format_grid_trad($easting,$northing); # TQ 234 098
$GPS_gr = format_grid_GPS($easting,$northing); # TQ 23451 09893
$landranger_gr = format_grid_landranger($easting, $northing) # 234098 on Sheet 176
# you can call these in list context to get the individual parts
# add "=~ s/s//g" to the result to remove the spaces
# and there are corresponding parse routines to convert from these formats to full e,n
($e,$n) = parse_trad_grid(TQ 234 098); # spaces optional, can give list as well
($e,$n) = parse_GPS_grid(TQ 23451 09893); # spaces optional, can give list as well
($e,$n) = parse_landranger_grid($sheet, $gre, $grn); # gre/grn must be 3 or 5 digits long
($e,$n) = parse_landranger_grid($sheet); # this gives you the SW corner of the sheet
# some convenience routines that bundle these up for you
map2ll();
map2grid();
# set parameters
set_ellipsoid(6377563.396,6356256.91); # not needed for UK use
set_projection(49, -2, 400000, -100000, 0.9996012717); # not needed for UK use
This module provides a collection of routines to convert between longitude & latitude and map grid references, using the formulae given in the British Ordnance Surveys excellent information leaflet, referenced below in "Theory".
The module is implemented purely in Perl, and should run on any Perl platform. In this description `OS means `the Ordnance Survey of Great Britain: the UK government agency that produces the standard maps of England, Wales, and Scotland. Any mention of `sheets or `maps refers to one or more of the 204 sheets in the 1:50,000 scale `Landranger series of OS maps.
<<lessA UK-specific implementation of co-ordinate conversion, following formulae from the Ordnance Survey of Great Britain (hence the name).
SYNOPSIS
use Geo::Coordinates::OSGB qw(ll2grid grid2ll);
# basic conversion routines
($easting,$northing) = ll2grid($lat,$lon);
($lat,$long) = grid2ll($easting,$northing);
# format full easting and northing into traditional formats
$trad_gr = format_grid_trad($easting,$northing); # TQ 234 098
$GPS_gr = format_grid_GPS($easting,$northing); # TQ 23451 09893
$landranger_gr = format_grid_landranger($easting, $northing) # 234098 on Sheet 176
# you can call these in list context to get the individual parts
# add "=~ s/s//g" to the result to remove the spaces
# and there are corresponding parse routines to convert from these formats to full e,n
($e,$n) = parse_trad_grid(TQ 234 098); # spaces optional, can give list as well
($e,$n) = parse_GPS_grid(TQ 23451 09893); # spaces optional, can give list as well
($e,$n) = parse_landranger_grid($sheet, $gre, $grn); # gre/grn must be 3 or 5 digits long
($e,$n) = parse_landranger_grid($sheet); # this gives you the SW corner of the sheet
# some convenience routines that bundle these up for you
map2ll();
map2grid();
# set parameters
set_ellipsoid(6377563.396,6356256.91); # not needed for UK use
set_projection(49, -2, 400000, -100000, 0.9996012717); # not needed for UK use
This module provides a collection of routines to convert between longitude & latitude and map grid references, using the formulae given in the British Ordnance Surveys excellent information leaflet, referenced below in "Theory".
The module is implemented purely in Perl, and should run on any Perl platform. In this description `OS means `the Ordnance Survey of Great Britain: the UK government agency that produces the standard maps of England, Wales, and Scotland. Any mention of `sheets or `maps refers to one or more of the 204 sheets in the 1:50,000 scale `Landranger series of OS maps.
Download (0.004MB)
Added: 2006-08-11 License: Perl Artistic License Price:
1179 downloads
Geo::Inverse 0.05
Geo::Inverse is a Perl module to calculate geographic distance from a lat & lon pair. more>>
Geo::Inverse is a Perl module to calculate geographic distance from a lat & lon pair.
SYNOPSIS
use Geo::Inverse;
my $obj = Geo::Inverse->new(); # default "WGS84"
my ($lat1,$lon1,$lat2,$lon2)=(38.87, -77.05, 38.95, -77.23);
my ($faz, $baz, $dist)=$obj->inverse($lat1,$lon1,$lat2,$lon2); #array context
my $dist=$obj->inverse($lat1,$lon1,$lat2,$lon2); #scalar context
print "Input Lat: $lat1 Lon: $lon1n";
print "Input Lat: $lat2 Lon: $lon2n";
print "Output Distance: $distn";
print "Output Forward Azimuth: $fazn";
print "Output Back Azimuth: $bazn";
This module is a pure Perl port of the NGS program in the public domain "inverse" by Robert (Sid) Safford and Stephen J. Frakes.
CONSTRUCTOR
new
The new() constructor may be called with any parameter that is appropriate to the ellipsoid method which establishes the ellipsoid.
my $obj = Geo::Inverse->new(); # default "WGS84"
METHODS
ellipsoid
Method to set or retrieve the current ellipsoid object. The ellipsoid is a Geo::Ellipsoids object.
my $ellipsoid=$obj->ellipsoid; #Default is WGS84
$obj->ellipsoid(Clarke 1866); #Built in ellipsoids from Geo::Ellipsoids
$obj->ellipsoid({a=>1}); #Custom Sphere 1 unit radius
inverse
This method is the user frontend to the mathematics. This interface will not change in future versions.
my ($faz, $baz, $dist)=$obj->inverse($lat1,$lon1,$lat2,$lon2);
<<lessSYNOPSIS
use Geo::Inverse;
my $obj = Geo::Inverse->new(); # default "WGS84"
my ($lat1,$lon1,$lat2,$lon2)=(38.87, -77.05, 38.95, -77.23);
my ($faz, $baz, $dist)=$obj->inverse($lat1,$lon1,$lat2,$lon2); #array context
my $dist=$obj->inverse($lat1,$lon1,$lat2,$lon2); #scalar context
print "Input Lat: $lat1 Lon: $lon1n";
print "Input Lat: $lat2 Lon: $lon2n";
print "Output Distance: $distn";
print "Output Forward Azimuth: $fazn";
print "Output Back Azimuth: $bazn";
This module is a pure Perl port of the NGS program in the public domain "inverse" by Robert (Sid) Safford and Stephen J. Frakes.
CONSTRUCTOR
new
The new() constructor may be called with any parameter that is appropriate to the ellipsoid method which establishes the ellipsoid.
my $obj = Geo::Inverse->new(); # default "WGS84"
METHODS
ellipsoid
Method to set or retrieve the current ellipsoid object. The ellipsoid is a Geo::Ellipsoids object.
my $ellipsoid=$obj->ellipsoid; #Default is WGS84
$obj->ellipsoid(Clarke 1866); #Built in ellipsoids from Geo::Ellipsoids
$obj->ellipsoid({a=>1}); #Custom Sphere 1 unit radius
inverse
This method is the user frontend to the mathematics. This interface will not change in future versions.
my ($faz, $baz, $dist)=$obj->inverse($lat1,$lon1,$lat2,$lon2);
Download (0.004MB)
Added: 2007-05-18 License: Perl Artistic License Price:
889 downloads
Geo::Shapelib 0.20
Geo::Shapelib is a Perl extension for reading and writing shapefiles as defined by ESRI. more>>
Geo::Shapelib is a Perl extension for reading and writing shapefiles as defined by ESRI.
SYNOPSIS
use Geo::Shapelib qw/:all/;
or
use Geo::Shapelib qw/:all/;
my $shapefile = new Geo::Shapelib {
Name => stations,
Shapetype => POINT,
FieldNames => [Name,Code,Founded];
FieldTypes => [String:50,String:10,Integer:8];
};
while ( ) {
chomp;
my($station,$code,$founded,$x,$y) = split /|/;
push @{$shapefile->{Shapes}},{ Vertices => [[$x,$y,0,0]] };
push @{$shapefile->{ShapeRecords}}, [$station,$code,$founded];
}
$shapefile->save();
This is a library for reading, creating, and writing shapefiles as defined by ESRI(r) using Perl. The Perl code uses Frank Warmerdams Shapefile C Library (http://shapelib.maptools.org/). The library is included in this distribution.
<<lessSYNOPSIS
use Geo::Shapelib qw/:all/;
or
use Geo::Shapelib qw/:all/;
my $shapefile = new Geo::Shapelib {
Name => stations,
Shapetype => POINT,
FieldNames => [Name,Code,Founded];
FieldTypes => [String:50,String:10,Integer:8];
};
while ( ) {
chomp;
my($station,$code,$founded,$x,$y) = split /|/;
push @{$shapefile->{Shapes}},{ Vertices => [[$x,$y,0,0]] };
push @{$shapefile->{ShapeRecords}}, [$station,$code,$founded];
}
$shapefile->save();
This is a library for reading, creating, and writing shapefiles as defined by ESRI(r) using Perl. The Perl code uses Frank Warmerdams Shapefile C Library (http://shapelib.maptools.org/). The library is included in this distribution.
Download (0.26MB)
Added: 2006-09-30 License: Perl Artistic License Price:
1121 downloads
Geo::Coder::US 1.00
This will estimate latitude and longitude for any US address. more>>
Geo:Coder:US 1.00 offers a full-feature facility for geocoding US addresses, that is, estimating the latitude and longitude of any street address or intersection in the United States, using the TIGER/Line data set from the US Census Bureau. Geo:Coder:US uses Geo:TigerLine to parse this data, and DB_File to store a highly compressed distillation of it, and Geo:StreetAddress:US to parse addresses into normalized components suitable for looking up in its database.
You can find a live demo of this code at http://geocoder.us/. The demo.cgi script is included in eg/ directory distributed with this module, along with a whole bunch of other goodies. See Geo:Coder:US:Import for how to build your own Geo:Coder:US database.
Consider using a web service to access this geocoder over the Internet, rather than going to all the trouble of building a database yourself. See eg/soap-client.pl, eg/xmlrpc-client.pl, and eg/rest-client.pl for different examples of working clients for the rpc.geocoder.us geocoder web service.
Major Features:
- Geo:Coder:US->geocode( $string )
- Given a string containing a street address or intersection, return a list of specifiers including latitude and longitude for all matching entities in the database. To keep from churning over the entire database, the given address string must contain either a city and state, or a ZIP code (or both), or geocode() will return undef.
- geocode() will attempt to normalize directional prefixes and suffixes, street types, and state abbreviations, as well as substitute TIGER/Line's idea of the "primary street name", if an alternate street name was provided instead.
- If geocode() can parse the address, but not find a match in the database, it will return a hashref containing the parsed and normalized address or intersection, but without the "lat" and "long" keys specifying the location. If geocode() cannot even parse the address, it will return undef. Be sure to check for the existence of "lat" and "long" keys in the hashes returned from geocode() before attempting to use the values! This serves to distinguish between addresses that cannot be found versus addresses that are completely unparseable.
- geocode() attempts to be as forgiving as possible when geocoding an address. If you say "Mission Ave" and all it knows about is "Mission St", then "Mission St" is what you'll get back. If you leave off directional identifiers, geocode() will return address geocoded in all the variants it can find, i.e. both "N Main St" and "S Main St".
- Don't be surprised if geocoding an intersection returns more than one lat/long pair for a single intersection. If one of the streets curves greatly or doglegs even slightly, this will be the likely outcome.
- geocode() is probably the method you want to use. See more in the following section on the structure of the returned address and intersection specifiers.
- Geo:Coder:US->geocode_address( $string )
- Works exactly like geocode(), but only parses addresses.
- Geo:Coder:US->geocode_intersection( $string )
- Works exactly like geocode(), but only parses intersections.
- Geo:Coder:US->filter_ranges( $spec, @candidates )
- Filters a list of address specifiers (presumably from the database) against a query specifier, filtering by prefix, type, suffix, or primary name if possible. Returns a list of matching specifiers. filter_ranges() will ignore a filtering step if it would result in no specifiers being returned. You probably won't need to use this.
- Geo:Coder:US->find_ranges( $address_spec )
- Given a normalized address specifier, return all the address ranges in the database that appear to cover that address. find_ranges() ignores prefix, suffix, and type fields in the specifier for search purposes, and then filters against them ex post facto. The intention for find_ranges() to find the closest match possible in preference to returning nothing. You probably want to use lookup_ranges() instead, which will call find_ranges() for you.
- Geo:Coder:US->lookup_ranges( $address_spec, @ranges )
- Given an address specifier and (optionally) some address ranges from the database, interpolate the street address into the street segment referred to by the address range, and return a latitude and longitude for the given address within each of the given ranges. If @ranges is not given, lookup_ranges() calls find_ranges() with the given address specifier, and uses those returned. You probably want to just use geocode() instead, which also parses an address string and determines whether it's a proper address or an intersection automatically.
- Geo:Coder:US->find_segments( $intersection_spec )
- Given a normalized intersection specifier, find all of the street segments in the database matching the two given streets in the given locale or ZIP code. find_segments() ignores prefix, suffix, and type fields in the specifier for search purposes, and then filters against them ex post facto. The intention for find_segments() to find the closest match possible in preference to returning nothing. You probably want to use lookup_intersection() instead, which will call find_segments() for you.
- Geo:Coder:US->lookup_intersection( $intersection_spec )
- Given an intersection specifier, return all of the intersections in the database between the two streets specified, plus a latitude and longitude for each intersection. You probably want to just use geocode() instead, which also parses an address string and determines whether it's a proper address or an intersection automatically.
Requirements: Perl
Added: 2009-06-11 License: Perl Artistic License Price: FREE
1 downloads
Geo::ShapeFile 2.51
Geo::ShapeFile is a Perl extension for handling ESRI GIS Shapefiles. more>>
Geo::ShapeFile is a Perl extension for handling ESRI GIS Shapefiles.
SYNOPSIS
use Geo::ShapeFile;
my $shapefile = new Geo::ShapeFile("roads");
for(1 .. $shapefile->shapes()) {
my $shape = $shapefile->get_shp_record($_);
# see Geo::ShapeFile::Shape docs for what to do with $shape
my %db = $shapefile->get_dbf_record($_);
}
ABSTRACT
The Geo::ShapeFile module reads ESRI ShapeFiles containing GIS mapping data, it has support for shp (shape), shx (shape index), and dbf (data base) formats.
The Geo::ShapeFile module reads ESRI ShapeFiles containing GIS mapping data, it has support for shp (shape), shx (shape index), and dbf (data base) formats.
METHODS
new($filename_base)
Creates a new shapefile object, the only argument it takes is the basename for your data (dont include the extension, the module will automatically find the extensions it supports). For example if you have data files called roads.shp, roads.shx, and roads.dbf, use new Geo::ShapeFile("roads"); to create a new object, and the module will load the data it needs from the files as it needs it.
type_is($numeric_type)
Returns true if the major type of this data file is the same as the type passed to type_is().
get_dbf_record($record_index)
Returns the data from the dbf file associated with the specified record index (shapefile indexes start at 1). If called in a list context, returns a hash, if called in a scalar context, returns a hashref.
x_min() x_max() y_min() y_max()
m_min() m_max() z_min() z_max()
Returns the minimum and maximum values for x, y, z, and m fields as indicated in the shp file header.
upper_left_corner() upper_right_corner()
lower_left_corner() lower_right_corner()
Returns a Geo::ShapeFile::Point object indicating the respective corners.
height() width()
Returns the height and width of the area contained in the shp file. Note that this likely does not return miles, kilometers, or any other useful measure, it simply returns x_max - x_min, or y_max - y_min. Whether this data is a useful measure or not depends on your data.
corners()
Returns a four element array consisting of the corners of the area contained in the shp file. The corners are listed clockwise starting with the upper left. (upper_left_corner, upper_right_corner, lower_right_corner, lower_left_corner)
area_contains_point($point,$x_min,$y_min,$x_max,$y_max)
Utility function that returns true if the Geo::ShapeFile::Point object in point falls within the bounds of the rectangle defined by the area indicated. See bounds_contains_point() if you want to check if a point falls within the bounds of the current shp file.
bounds_contains_point($point)
Returns true if the specified point falls within the bounds of the current shp file.
file_version()
Returns the ShapeFile version number of the current shp/shx file.
shape_type()
Returns the shape type contained in the current shp/shx file. The ESRI spec currently allows for a file to contain only a single type of shape (null shapes are the exception, they may appear in any data file). This returns the numeric value for the type, use type() to find the text name of this value.
shapes()
Returns the number of shapes contained in the current shp/shx file. This is the value that allows you to iterate through all the shapes using for(1 .. $obj->shapes()) {.
records()
Returns the number of records contained in the current data. This is similar to
shapes(), but can be used even if you dont have shp/shx files, so you can access data that is stored as dbf, but does not have shapes associated with it.
shape_type_text()
Returns the shape type of the current shp/shx file (see shape_type()), but as the human-readable string type, rather than an integer.
get_shx_record($record_index) =item get_shx_record_header($record_index)
Get the contents of an shx record or record header (for compatibility with the other get_* functions, both are provided, but in the case of shx data, they return the same information). The return value is a two element array consisting of the offset in the shp file where the indicated record begins, and the content length of that record.
get_shp_record_header($record_index)
Retrieve an shp record header for the specified index. Returns a two element array consisting of the record number and the content length of the record.
get_shp_record($record_index)
Retrieve an shp record for the specified index. Returns a Geo::ShapeFile::Shape object.
shapes_in_area($x_min,$y_min,$x_max,$y_max)
Returns an array of integers, consisting of the indices of the shapes that overlap with the area specified. Currently this is a very oversimplified function that actually finds shapes that have any point that falls within the specified bounding box. Currently it may miss some shapes that actually do overlap with the specified area, if there are two points outside the area that cause an edge to pass through the area, but neither of the end points of that edge actually fall within the area specified. Patches to make this function more useful would be welcome.
check_in_area($x1_min,$y1_min,$x1_max,$y1_max,$x2_min,$x2_max,$y2_min,$y2_max)
Returns true if the two specified areas overlap.
bounds()
Returns the bounds for the current shp file. (x_min, y_min, x_max, y_max)
shx_handle() shp_handle() dbf_handle()
Returns the file handles associated with the respective data files.
type($shape_type_number)
Returns the name of the type associated with the given type id number.
find_bounds(@shapes)
Takes an array of Geo::ShapeFile::Shape objects, and returns a hash, with keys of x_min,y_min,x_max,y_max, with the values for each of those ranges.
<<lessSYNOPSIS
use Geo::ShapeFile;
my $shapefile = new Geo::ShapeFile("roads");
for(1 .. $shapefile->shapes()) {
my $shape = $shapefile->get_shp_record($_);
# see Geo::ShapeFile::Shape docs for what to do with $shape
my %db = $shapefile->get_dbf_record($_);
}
ABSTRACT
The Geo::ShapeFile module reads ESRI ShapeFiles containing GIS mapping data, it has support for shp (shape), shx (shape index), and dbf (data base) formats.
The Geo::ShapeFile module reads ESRI ShapeFiles containing GIS mapping data, it has support for shp (shape), shx (shape index), and dbf (data base) formats.
METHODS
new($filename_base)
Creates a new shapefile object, the only argument it takes is the basename for your data (dont include the extension, the module will automatically find the extensions it supports). For example if you have data files called roads.shp, roads.shx, and roads.dbf, use new Geo::ShapeFile("roads"); to create a new object, and the module will load the data it needs from the files as it needs it.
type_is($numeric_type)
Returns true if the major type of this data file is the same as the type passed to type_is().
get_dbf_record($record_index)
Returns the data from the dbf file associated with the specified record index (shapefile indexes start at 1). If called in a list context, returns a hash, if called in a scalar context, returns a hashref.
x_min() x_max() y_min() y_max()
m_min() m_max() z_min() z_max()
Returns the minimum and maximum values for x, y, z, and m fields as indicated in the shp file header.
upper_left_corner() upper_right_corner()
lower_left_corner() lower_right_corner()
Returns a Geo::ShapeFile::Point object indicating the respective corners.
height() width()
Returns the height and width of the area contained in the shp file. Note that this likely does not return miles, kilometers, or any other useful measure, it simply returns x_max - x_min, or y_max - y_min. Whether this data is a useful measure or not depends on your data.
corners()
Returns a four element array consisting of the corners of the area contained in the shp file. The corners are listed clockwise starting with the upper left. (upper_left_corner, upper_right_corner, lower_right_corner, lower_left_corner)
area_contains_point($point,$x_min,$y_min,$x_max,$y_max)
Utility function that returns true if the Geo::ShapeFile::Point object in point falls within the bounds of the rectangle defined by the area indicated. See bounds_contains_point() if you want to check if a point falls within the bounds of the current shp file.
bounds_contains_point($point)
Returns true if the specified point falls within the bounds of the current shp file.
file_version()
Returns the ShapeFile version number of the current shp/shx file.
shape_type()
Returns the shape type contained in the current shp/shx file. The ESRI spec currently allows for a file to contain only a single type of shape (null shapes are the exception, they may appear in any data file). This returns the numeric value for the type, use type() to find the text name of this value.
shapes()
Returns the number of shapes contained in the current shp/shx file. This is the value that allows you to iterate through all the shapes using for(1 .. $obj->shapes()) {.
records()
Returns the number of records contained in the current data. This is similar to
shapes(), but can be used even if you dont have shp/shx files, so you can access data that is stored as dbf, but does not have shapes associated with it.
shape_type_text()
Returns the shape type of the current shp/shx file (see shape_type()), but as the human-readable string type, rather than an integer.
get_shx_record($record_index) =item get_shx_record_header($record_index)
Get the contents of an shx record or record header (for compatibility with the other get_* functions, both are provided, but in the case of shx data, they return the same information). The return value is a two element array consisting of the offset in the shp file where the indicated record begins, and the content length of that record.
get_shp_record_header($record_index)
Retrieve an shp record header for the specified index. Returns a two element array consisting of the record number and the content length of the record.
get_shp_record($record_index)
Retrieve an shp record for the specified index. Returns a Geo::ShapeFile::Shape object.
shapes_in_area($x_min,$y_min,$x_max,$y_max)
Returns an array of integers, consisting of the indices of the shapes that overlap with the area specified. Currently this is a very oversimplified function that actually finds shapes that have any point that falls within the specified bounding box. Currently it may miss some shapes that actually do overlap with the specified area, if there are two points outside the area that cause an edge to pass through the area, but neither of the end points of that edge actually fall within the area specified. Patches to make this function more useful would be welcome.
check_in_area($x1_min,$y1_min,$x1_max,$y1_max,$x2_min,$x2_max,$y2_min,$y2_max)
Returns true if the two specified areas overlap.
bounds()
Returns the bounds for the current shp file. (x_min, y_min, x_max, y_max)
shx_handle() shp_handle() dbf_handle()
Returns the file handles associated with the respective data files.
type($shape_type_number)
Returns the name of the type associated with the given type id number.
find_bounds(@shapes)
Takes an array of Geo::ShapeFile::Shape objects, and returns a hash, with keys of x_min,y_min,x_max,y_max, with the values for each of those ranges.
Download (0.27MB)
Added: 2007-05-18 License: Perl Artistic License Price:
899 downloads
Geo::ECEF 0.08
Geo::ECEF is a Perl module that converts between ECEF coordinates and latitude, longitude and height above ellipsoid. more>>
Geo::ECEF is a Perl module that converts between ECEF (earth centered earth fixed) coordinates and latitude, longitude and height above ellipsoid.
SYNOPSIS
use Geo::ECEF;
my $obj=Geo::ECEF->new(); #WGS84 is the default
my ($x, $y, $z)=$obj->ecef(39.197807, -77.108574, 55); #Lat (deg), Lon (deg), HAE (meters)
print "X: $xtY: $ytZ: $zn";
my ($lat, $lon, $hae)=$obj->geodetic($x, $y, $z); #X (meters), Y (meters), Z (meters)
print "Lat: $lat tLon: $lon tHAE $haen";
Geo::ECEF provides two methods ecef and geodetic. The ecef method calculates the X,Y and Z coordinates in the ECEF (earth centered earth fixed) coordinate system from latitude, longitude and height above the ellipsoid. The geodetic method calculates the latitude, longitude and height above ellipsoid from ECEF coordinates.
The formulas were found at http://www.u-blox.ch/ and http://waas.stanford.edu/~wwu/maast/maastWWW1_0.zip.
This code is an object Perl rewrite of a similar package by Morten Sickel, Norwegian Radiation Protection Authority
<<lessSYNOPSIS
use Geo::ECEF;
my $obj=Geo::ECEF->new(); #WGS84 is the default
my ($x, $y, $z)=$obj->ecef(39.197807, -77.108574, 55); #Lat (deg), Lon (deg), HAE (meters)
print "X: $xtY: $ytZ: $zn";
my ($lat, $lon, $hae)=$obj->geodetic($x, $y, $z); #X (meters), Y (meters), Z (meters)
print "Lat: $lat tLon: $lon tHAE $haen";
Geo::ECEF provides two methods ecef and geodetic. The ecef method calculates the X,Y and Z coordinates in the ECEF (earth centered earth fixed) coordinate system from latitude, longitude and height above the ellipsoid. The geodetic method calculates the latitude, longitude and height above ellipsoid from ECEF coordinates.
The formulas were found at http://www.u-blox.ch/ and http://waas.stanford.edu/~wwu/maast/maastWWW1_0.zip.
This code is an object Perl rewrite of a similar package by Morten Sickel, Norwegian Radiation Protection Authority
Download (0.005MB)
Added: 2007-05-18 License: Perl Artistic License Price:
903 downloads
EpiGrass 1.5.1
EpiGrass is a simulator of epidemics over networks. more>>
EpiGrass is a simulator of epidemics over networks. EpiGrass is a scientific tool created for simulations and scenario analysis in Network epidemiology.
For an in depth description of Epigrass capabilities, please refer to the documentation.
EpiGrass can interact with the GRASS GIS from which it can obtain maps and other geo-referenced information. However, EpiGrass does not require an installation of the GRASS GIS for most of its features.
Epigrass is free-software, licensed under the Gnu public license (GPL).
Currently, EpiGrass is supported only on the Gnu/Linux platform. If you would like to see it run on other platforms, you can volunteer to oversee the porting to a given platform. Since Epigrass is written entirely in Python, porting to other platforms should be very easy. However this is not the main priority of the EpiGrass development team.
Enhancements:
- An import bug was fixed.
<<lessFor an in depth description of Epigrass capabilities, please refer to the documentation.
EpiGrass can interact with the GRASS GIS from which it can obtain maps and other geo-referenced information. However, EpiGrass does not require an installation of the GRASS GIS for most of its features.
Epigrass is free-software, licensed under the Gnu public license (GPL).
Currently, EpiGrass is supported only on the Gnu/Linux platform. If you would like to see it run on other platforms, you can volunteer to oversee the porting to a given platform. Since Epigrass is written entirely in Python, porting to other platforms should be very easy. However this is not the main priority of the EpiGrass development team.
Enhancements:
- An import bug was fixed.
Download (1.8MB)
Added: 2007-07-18 License: GPL (GNU General Public License) Price:
828 downloads
Geo::Track::Log 0.02
Geo::Track::Log is a Perl module that represent track logs and find a location based on a track log and a date. more>>
Geo::Track::Log is a Perl module that represent track logs and find a location based on a track log and a date.
SYNOPSIS
use Geo::Track::Log;
my $log = new Geo::Track::Log;
# add a point to a track log.
$log->addPoint( {
timestamp => 2004-12-25 12:00:00,
lat => 0.0,
long=> 0.0,
} );
$log->addPoint( {
timestamp => 2004-12-25 13:00:00,
lat => 0.0,
long=> 1.0,
} );
Get our location at a time
my ($pt, $sPt, $ePt) = $log->whereWasI(2004-12-25 12:30:00);
or (a synonym)
my ($pt, $sPt, $ePt) = $log->interpolate(2004-12-25 12:30:00);
(see DESCRIPTION for more)
Load tracklog from a Garnix format file
$log->loadTrackFromGarnix(file handle);
Load Waypoint from a Garnix format file
$log->loadWayFromGarnix(file handle);
Fix the funky Garnix line format
my $pt = $log->fixGarnixTrackLine ( qq( 44? 3 33.23" -123? 5 0.07" 148.0 WGS84 00:50:19-2004/07/12 [1];) )
Load a GPX (GPS XML) format file
$log->loadTrackFromGPX(file handle);
return the earliest point, by time
my $pt = $log->minTimeStamp();
return the latest point, by time
my $pt = $log->maxTimeStamp();
What percent of the way is time $d between the time at points $sPt and $dPt?
my $pct = $self->getPercent($d, $sPt, $ePt);
<<lessSYNOPSIS
use Geo::Track::Log;
my $log = new Geo::Track::Log;
# add a point to a track log.
$log->addPoint( {
timestamp => 2004-12-25 12:00:00,
lat => 0.0,
long=> 0.0,
} );
$log->addPoint( {
timestamp => 2004-12-25 13:00:00,
lat => 0.0,
long=> 1.0,
} );
Get our location at a time
my ($pt, $sPt, $ePt) = $log->whereWasI(2004-12-25 12:30:00);
or (a synonym)
my ($pt, $sPt, $ePt) = $log->interpolate(2004-12-25 12:30:00);
(see DESCRIPTION for more)
Load tracklog from a Garnix format file
$log->loadTrackFromGarnix(file handle);
Load Waypoint from a Garnix format file
$log->loadWayFromGarnix(file handle);
Fix the funky Garnix line format
my $pt = $log->fixGarnixTrackLine ( qq( 44? 3 33.23" -123? 5 0.07" 148.0 WGS84 00:50:19-2004/07/12 [1];) )
Load a GPX (GPS XML) format file
$log->loadTrackFromGPX(file handle);
return the earliest point, by time
my $pt = $log->minTimeStamp();
return the latest point, by time
my $pt = $log->maxTimeStamp();
What percent of the way is time $d between the time at points $sPt and $dPt?
my $pct = $self->getPercent($d, $sPt, $ePt);
Download (0.017MB)
Added: 2006-06-15 License: Perl Artistic License Price:
1226 downloads
Geo::Ellipsoids 0.14
Geo::Ellipsoids is a package for standard Geo:: ellipsoid a, b, f and 1/f values. more>>
Geo::Ellipsoids is a package for standard Geo:: ellipsoid a, b, f and 1/f values.
SYNOPSIS
use Geo::Ellipsoids;
my $obj = Geo::Ellipsoids->new();
$obj->set(WGS84); #default
print "a=", $obj->a, "n";
print "b=", $obj->b, "n";
print "f=", $obj->f, "n";
print "i=", $obj->i, "n";
print "e=", $obj->e, "n";
print "n=", $obj->n(45), "n";
CONSTRUCTOR
new
The new() constructor may be called with any parameter that is appropriate to the set method.
my $obj = Geo::Ellipsoid->new();
METHODS
set
Method sets the current ellipsoid. This method is called when the object is constructed (default is WGS84).
$obj->set(); #default WGS84
$obj->set(Clarke 1866); #All built in ellipsoids are stored in meters
$obj->set({a=>1, b=>1}); #Custom Sphere 1 unit radius
list
Method returns a list of known elipsoid names.
my @list=$obj->list;
my $list=$obj->list;
while (@$list) {
print "$_n";
}
a
Method returns the value of the semi-major axis.
my $a=$obj->a;
b
Method returns the value of the semi-minor axis.
my $b=$obj->b; #b=a(1-f)
f
Method returns the value of flatting
my $f=$obj->f; #f=(a-b)/a
i
Method returns the value of the inverse flatting
my $i=$obj->i; #i=1/f=a/(a-b)
invf
Method synonym for the i method
my $i=$obj->invf; #i=1/f
e
Method returns the value of the first eccentricity, e. This is the eccentricity of the earths elliptical cross-section.
my $e=$obj->e;
e2
Method returns the value of eccentricity squared (e.g. e^2). This is not the second eccentricity, e or e-prime see the "ep" method.
my $e=sqrt($obj->e2); #e^2 = f(2-f) = 2f-f^2 = 1-b^2/a^2
ep
Method returns the value of the second eccentricity, e or e-prime. The second eccentricity is related to the first eccentricity by the equation: 1=(1-e^2)(1+e^2).
my $ep=$obj->ep;
ep2
Method returns the square of value of second eccentricity, e (e-prime). This is more useful in almost all equations.
my $ep=sqrt($obj->ep2); #ep2=(ea/b)^2=e2/(1-e2)=a^2/b^2-1
n
Method returns the value of n given latitude (degrees). Typically represented by the Greek letter nu, this is the radius of curvature of the ellipsoid perpendicular to the meridian plane. It is also the distance from the point in question to the polar axis, measured perpendicular to the ellipsoids surface.
my $n=$obj->n($lat);
Note: Some define a variable n as (a-b)/(a+b) this is not that variable.
n_rad
Method returns the value of n given latitude (radians).
my $n=$obj->n_rad($lat);
rho
rho is the radius of curvature of the earth in the meridian plane.
my $rho=$obj->rho($lat);
rho_rad
rho is the radius of curvature of the earth in the meridian plane.
my $rho=$obj->rho_rad($lat);
polar_circumference
Method returns the value of the semi-minor axis times 2*PI.
my $polar_circumference=$obj->polar_circumference;
equatorial_circumference
Method returns the value of the semi-major axis times 2*PI.
my $equatorial_circumference=$obj->equatorial_circumference;
shortname
Method returns the shortname, which is the hash key, of the current ellipsoid
my $shortname=$obj->shortname;
longname
Method returns the long name of the current ellipsoid
my $longname=$obj->longname;
data
Method returns a hash reference for the ellipsoid definition data structure.
my $datastructure=$obj->data;
name2ref
Method returns a hash reference (e.g. {a=>6378137,i=>298.257223563}) when passed a valid ellipsoid name (e.g. WGS84).
my $ref=$obj->name2ref(WGS84)
<<lessSYNOPSIS
use Geo::Ellipsoids;
my $obj = Geo::Ellipsoids->new();
$obj->set(WGS84); #default
print "a=", $obj->a, "n";
print "b=", $obj->b, "n";
print "f=", $obj->f, "n";
print "i=", $obj->i, "n";
print "e=", $obj->e, "n";
print "n=", $obj->n(45), "n";
CONSTRUCTOR
new
The new() constructor may be called with any parameter that is appropriate to the set method.
my $obj = Geo::Ellipsoid->new();
METHODS
set
Method sets the current ellipsoid. This method is called when the object is constructed (default is WGS84).
$obj->set(); #default WGS84
$obj->set(Clarke 1866); #All built in ellipsoids are stored in meters
$obj->set({a=>1, b=>1}); #Custom Sphere 1 unit radius
list
Method returns a list of known elipsoid names.
my @list=$obj->list;
my $list=$obj->list;
while (@$list) {
print "$_n";
}
a
Method returns the value of the semi-major axis.
my $a=$obj->a;
b
Method returns the value of the semi-minor axis.
my $b=$obj->b; #b=a(1-f)
f
Method returns the value of flatting
my $f=$obj->f; #f=(a-b)/a
i
Method returns the value of the inverse flatting
my $i=$obj->i; #i=1/f=a/(a-b)
invf
Method synonym for the i method
my $i=$obj->invf; #i=1/f
e
Method returns the value of the first eccentricity, e. This is the eccentricity of the earths elliptical cross-section.
my $e=$obj->e;
e2
Method returns the value of eccentricity squared (e.g. e^2). This is not the second eccentricity, e or e-prime see the "ep" method.
my $e=sqrt($obj->e2); #e^2 = f(2-f) = 2f-f^2 = 1-b^2/a^2
ep
Method returns the value of the second eccentricity, e or e-prime. The second eccentricity is related to the first eccentricity by the equation: 1=(1-e^2)(1+e^2).
my $ep=$obj->ep;
ep2
Method returns the square of value of second eccentricity, e (e-prime). This is more useful in almost all equations.
my $ep=sqrt($obj->ep2); #ep2=(ea/b)^2=e2/(1-e2)=a^2/b^2-1
n
Method returns the value of n given latitude (degrees). Typically represented by the Greek letter nu, this is the radius of curvature of the ellipsoid perpendicular to the meridian plane. It is also the distance from the point in question to the polar axis, measured perpendicular to the ellipsoids surface.
my $n=$obj->n($lat);
Note: Some define a variable n as (a-b)/(a+b) this is not that variable.
n_rad
Method returns the value of n given latitude (radians).
my $n=$obj->n_rad($lat);
rho
rho is the radius of curvature of the earth in the meridian plane.
my $rho=$obj->rho($lat);
rho_rad
rho is the radius of curvature of the earth in the meridian plane.
my $rho=$obj->rho_rad($lat);
polar_circumference
Method returns the value of the semi-minor axis times 2*PI.
my $polar_circumference=$obj->polar_circumference;
equatorial_circumference
Method returns the value of the semi-major axis times 2*PI.
my $equatorial_circumference=$obj->equatorial_circumference;
shortname
Method returns the shortname, which is the hash key, of the current ellipsoid
my $shortname=$obj->shortname;
longname
Method returns the long name of the current ellipsoid
my $longname=$obj->longname;
data
Method returns a hash reference for the ellipsoid definition data structure.
my $datastructure=$obj->data;
name2ref
Method returns a hash reference (e.g. {a=>6378137,i=>298.257223563}) when passed a valid ellipsoid name (e.g. WGS84).
my $ref=$obj->name2ref(WGS84)
Download (0.007MB)
Added: 2007-05-18 License: Perl Artistic License Price:
890 downloads
KnoSciences 1.0
KnoSciences is a Knoppix-based bootable CD with a collection of GNU/Linux software, automatic hardware detection. more>>
KnoSciences is a Knoppix bootable CD with a collection of GNU/Linux software, automatic hardware detection, and support for many graphics cards, sound cards, SCSI and USB devices and other peripherals. KnoSciences is not necessary to install anything.
Sciences SoftwareMain features:
Workstation software
- Evince
- FileRunner
- Firefox
- Gimp
- Gnumeric
- Kate
- Krusader
- Lyx
- NVU
- OpenOffice
- Rox-filer
- Scite
- Scribus
- Texmacs
- VLC media player
- VNC
- Xfce4
- XMMS
- Xpdf
Java software
- Edugraphe
- Geogebra
- Geonext
- JasTEX
- Java C.a.R
- NonEuclid
- NumericalChameleon
- Mathoscope
- Optikal
- Populus
- XLogo
Mathematical Software
- Xabacus
- Declic (french)
- Dr Geo
- Geomview
- Xeukleides
- Galculator
- Geg
- Giac/Xcas
- Gnuplot
- Grace
- Graphthing
- Kali
- Kseg
- Maxima
- PARI/GP
- Scilab
- Yacas
- XaoS
Sciences Software
- Audacity
- Chemeq
- Chemtool
- Dozzzaqueux (french)
- Formol
- Ghemical
- GNUcap
- GPeriodic
- KStars
- LibComedi
- Open Babel
- OptGeo (french)
- Oregano
- TkGate
- PyMOL
Systeme Software
- CUPS - Common Unix Printing
- Debian
- GCC (gcc & g++)
- KNOPPIX
- Perl
- Python
- QTParted
- TCC
- Xsane
- knoppix-installer
<<lessSciences SoftwareMain features:
Workstation software
- Evince
- FileRunner
- Firefox
- Gimp
- Gnumeric
- Kate
- Krusader
- Lyx
- NVU
- OpenOffice
- Rox-filer
- Scite
- Scribus
- Texmacs
- VLC media player
- VNC
- Xfce4
- XMMS
- Xpdf
Java software
- Edugraphe
- Geogebra
- Geonext
- JasTEX
- Java C.a.R
- NonEuclid
- NumericalChameleon
- Mathoscope
- Optikal
- Populus
- XLogo
Mathematical Software
- Xabacus
- Declic (french)
- Dr Geo
- Geomview
- Xeukleides
- Galculator
- Geg
- Giac/Xcas
- Gnuplot
- Grace
- Graphthing
- Kali
- Kseg
- Maxima
- PARI/GP
- Scilab
- Yacas
- XaoS
Sciences Software
- Audacity
- Chemeq
- Chemtool
- Dozzzaqueux (french)
- Formol
- Ghemical
- GNUcap
- GPeriodic
- KStars
- LibComedi
- Open Babel
- OptGeo (french)
- Oregano
- TkGate
- PyMOL
Systeme Software
- CUPS - Common Unix Printing
- Debian
- GCC (gcc & g++)
- KNOPPIX
- Perl
- Python
- QTParted
- TCC
- Xsane
- knoppix-installer
Download (693.7MB)
Added: 2006-06-09 License: GPL (GNU General Public License) Price:
1239 downloads
Geo::Coordinates::VandH 1.11
Geo::Coordinates::VandH is a Perl module that can convert and manipulate telco V and H coordinates. more>>
Geo::Coordinates::VandH is a Perl module that can convert and manipulate telco V and H coordinates.
SYNOPSIS To convert V: 5498 H: 2895 to lat/long coordinates:
use Geo::Coordinates::VandH;
$blah=new Geo::Coordinates::VandH;
($lat,$lon) = $blah->vh2ll(5498,2895);
printf "%lf,%lfn",$lat,$lon;
To find the mileage between 5498,2895 and 5527,2873 in miles:
use Geo::Coordinates::VandH;
$blah=new Geo::Coordinates::VandH;
printf "Distance between Pontiac, MI and Southfield, MI is approximately: %d milesn",$blah->distance(5498,2895,5527,2873);
Currently this package supports the translation of V+H to Lat/Long, and mileage calculations between two V+H coordinates.
Results are returned in decimal degrees for V+H to Lat/Long, and Miles for distance.
Future versions will convert Lat/Long to V+H coordinates.
<<lessSYNOPSIS To convert V: 5498 H: 2895 to lat/long coordinates:
use Geo::Coordinates::VandH;
$blah=new Geo::Coordinates::VandH;
($lat,$lon) = $blah->vh2ll(5498,2895);
printf "%lf,%lfn",$lat,$lon;
To find the mileage between 5498,2895 and 5527,2873 in miles:
use Geo::Coordinates::VandH;
$blah=new Geo::Coordinates::VandH;
printf "Distance between Pontiac, MI and Southfield, MI is approximately: %d milesn",$blah->distance(5498,2895,5527,2873);
Currently this package supports the translation of V+H to Lat/Long, and mileage calculations between two V+H coordinates.
Results are returned in decimal degrees for V+H to Lat/Long, and Miles for distance.
Future versions will convert Lat/Long to V+H coordinates.
Download (0.004MB)
Added: 2006-08-10 License: Perl Artistic License Price:
1170 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above geo streetaddress us search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed