geographical
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 59
Geotrace 0.0.4
Geotrace is a geographical traceroute utility. more>>
Geotrace is a geographical traceroute utility. Geotrace provide graphical view on the map. It has many geographical maps.
In order to be able to use a new map with geotrace, you only need to know one thing: the longitude/latitude of the top left and bottom right corners. Most maps you will find will be centered on 0,0 (about 5 degs south of Ghana and 10 degs west of Gabon. for those of you who dont know, its in Africa.). So, lets do it step by step:
1) Find a map. there are plenty on the web. Nasas a good place to find them (it is a mess though). Or grab one of the few maps at a site with maps for XGlobe and XPlanet.
The image must be in a format understood by gdk-pixbuf (most images youll find will be jpeg or gif which work).
2) Go to the maps/ directory in geotrace. Put the map in there and open up maps.properties
3) on the second line, youll see MAPS:World50.gif, World100.gif etc... Thats a list of all the maps. Add the name of your recently downloaded map on that line.
4) now, you need to tell geotrace what the coordinates are. Add a line to the file that looks as follows:
filename:BOUNDARY=lon1,lat1,lon2,lat2
filename: case sensitive, map has to be in the maps/ folder
lon1 and lat1: longitude and latitude of the top left corner
lon2 and lat2: longitude and latitude of the bottom right corner
As I said earlier, for most maps youll find, youll get -180,90,180,-90 which means that the map is centered on 0,0. However, the two world maps (World100 and World50) in geotrace are centered on 10W,0
You might notice that the three maps of the US have another line associated with them. Thats the alber projection. You probably wont have to deal with that.
4) Run geotrace, select your map from the drop-down and enjoy.
Version restrictions:
- Some hops may have extravagant locations, but for once, its not my fault. The netgeo server does not have fully updated records. So my advice is, just live with it
Enhancements:
- added line color and width options.
- added cmdline args. host to trace, and startup map.
- added map options: path to maps and startup map.
- warning to check paths when run for the first time.
- added status bar
- fixed draw_trace_on_map which didnt draw in certain cases (timeouts)
- fixed bug that caused crash when a hop times out and more hops repond later
- 2001-04-05
- added option: resolve host name or not
- load/save options from file (~/.geotrace) 2001-04-04
- fixed bug that caused last map in file not to be read (world100) 2001-04-03 added options for traceroute (path to exec, timeout and maxttl)
<<lessIn order to be able to use a new map with geotrace, you only need to know one thing: the longitude/latitude of the top left and bottom right corners. Most maps you will find will be centered on 0,0 (about 5 degs south of Ghana and 10 degs west of Gabon. for those of you who dont know, its in Africa.). So, lets do it step by step:
1) Find a map. there are plenty on the web. Nasas a good place to find them (it is a mess though). Or grab one of the few maps at a site with maps for XGlobe and XPlanet.
The image must be in a format understood by gdk-pixbuf (most images youll find will be jpeg or gif which work).
2) Go to the maps/ directory in geotrace. Put the map in there and open up maps.properties
3) on the second line, youll see MAPS:World50.gif, World100.gif etc... Thats a list of all the maps. Add the name of your recently downloaded map on that line.
4) now, you need to tell geotrace what the coordinates are. Add a line to the file that looks as follows:
filename:BOUNDARY=lon1,lat1,lon2,lat2
filename: case sensitive, map has to be in the maps/ folder
lon1 and lat1: longitude and latitude of the top left corner
lon2 and lat2: longitude and latitude of the bottom right corner
As I said earlier, for most maps youll find, youll get -180,90,180,-90 which means that the map is centered on 0,0. However, the two world maps (World100 and World50) in geotrace are centered on 10W,0
You might notice that the three maps of the US have another line associated with them. Thats the alber projection. You probably wont have to deal with that.
4) Run geotrace, select your map from the drop-down and enjoy.
Version restrictions:
- Some hops may have extravagant locations, but for once, its not my fault. The netgeo server does not have fully updated records. So my advice is, just live with it
Enhancements:
- added line color and width options.
- added cmdline args. host to trace, and startup map.
- added map options: path to maps and startup map.
- warning to check paths when run for the first time.
- added status bar
- fixed draw_trace_on_map which didnt draw in certain cases (timeouts)
- fixed bug that caused crash when a hop times out and more hops repond later
- 2001-04-05
- added option: resolve host name or not
- load/save options from file (~/.geotrace) 2001-04-04
- fixed bug that caused last map in file not to be read (world100) 2001-04-03 added options for traceroute (path to exec, timeout and maxttl)
Download (0.25MB)
Added: 2006-06-21 License: GPL (GNU General Public License) Price:
1229 downloads
Open Geographic Datastore Interface 3.1.5
Open Geographic Datastore Interface is an API that uses a standardized access method to work in conjunction with GIS software. more>>
OGDI is the Open Geographic Datastore Interface. OGDI is an application programming interface (API) that uses a standardized access methods to work in conjunction with GIS software packages (the application) and various geospatial data products.
OGDI uses a client/server architecture to facilitate the dissemination of geospatial data products over any TCP/IP network, and a driver-oriented approach to facilitate access to several geospatial data products/formats.
Enhancements:
- This release fixes some significant bugs in the VRF (VPF) driver.
<<lessOGDI uses a client/server architecture to facilitate the dissemination of geospatial data products over any TCP/IP network, and a driver-oriented approach to facilitate access to several geospatial data products/formats.
Enhancements:
- This release fixes some significant bugs in the VRF (VPF) driver.
Download (0.89MB)
Added: 2005-06-29 License: Freely Distributable Price:
1579 downloads
AML Cartography 1.0
AML Cartography provides AML and C code and documentation for cartography. more>>
AML Cartography provides AML and C code and documentation for cartography within the ARC/INFO geographic information system.
The ARC Macro Language and C programs discussed in this guideline are available by anonymous ftp from sdcdg01.sdc.epa.gov and are in the files:
/pub/readme.cart
/pub/map_amls.tar.Z
/pub/map_design.tar.Z
/pub/map_post.Z
/pub/color_post.tar.Z
/pub/baw_post.tar.Z
<<lessThe ARC Macro Language and C programs discussed in this guideline are available by anonymous ftp from sdcdg01.sdc.epa.gov and are in the files:
/pub/readme.cart
/pub/map_amls.tar.Z
/pub/map_design.tar.Z
/pub/map_post.Z
/pub/color_post.tar.Z
/pub/baw_post.tar.Z
Download (MB)
Added: 2006-12-04 License: Public Domain Price:
1055 downloads
Gcal 3.01
Gcal is a program for calculating and printing calendars. more>>
Gcal is a program for calculating and printing calendars. It displays hybrid and proleptic Julian and Gregorian calendar sheets, respectively for one month, three months, or a whole year.
It also displays eternal holiday lists for many countries around the globe, and features a very powerful creation of fixed date liststhat can be used for reminding purposes. Gcal can calculate various astronomical data and times of the Sun and the Moon for pleasure at any location, precisely enough for most civil purposes.
Gcal supports some other calendar systems, for example, the Chinese and Japanese calendars, the Hebrew calendar, and the civil Islamic calendar, too.
English user manual included; German user manual included.
Main features:
- Some special calendar sheet formats.
- Calendar sheets can be provided with week numbers.
- Variable number of year calendar sheet blocks.
- Adjustable ordering of displayed dates.
- Adjustable period of Gregorian Reformation.
- Proleptic Julian and Gregorian calendars.
- Adjustable highlighting of holidays and actual day.
- Variable starting day of week.
- Output of day-of-year numbers and concatenated day and day-of-year numbers.
- Allows user-defined ordering of the date elements.
- Output of fiscal years.
- Output of lists or ranges of months or years.
- Sorted output of selectable country/territory specific eternal holiday lists (mostly complete) for nearly *all* countries around the globe, which are generated automatically.
- Sorted output of Christian Western churches calendar holidays, Orthodox Christian Eastern churches old and new calendar holidays, Hebrew calendar holidays, Islamic civil calendar holidays (since AD 622), Persian "Jalaali" calendar holidays, Chinese and Japanese calendar holidays (since AD 1645), more "other" calendar system holidays, multicultural New Years Days, and start of "other" calendar system months, which are also generated automatically.
- Sorted output of fixed date lists which can be defined and created in a highly flexible manner.
- Allows filtration of fixed dates by using regular expressions and other built-in methods.
- Allows the use of date and text variables and basic operations on them.
- Some gimmicks like solar and lunar eclipse time, sunrise/sunset plus a lot of other Sun based data and times, Moon phase, Full and New Moon time, moonrise/moonset plus a lot of other Moon based data and times, zodiacal markers, equinox and solstice, air line distance between two geographic point locations plus course angles, biorhythm et cetera...
- Fixed dates can be stored in several files.
- Nearly unlimited nesting level of include files.
- Nearly unlimited internal text and table lengths.
- Default options can be stored in the `GCAL environment variable.
- Options and commands stored in response files can be preloaded.
- Uses either an external pager or a simple built-in pager.
- Detailed Texinfo reference manual.
- German, English and American program version by default.
- Supports various computer platforms.
- GNU `gettext internationalization technology, which allows the use of message catalogs for most native languages.
- GNU `autoconf(iguration) installation technology.
- Supports both UN*X short-style options and GNU long-style options.
<<lessIt also displays eternal holiday lists for many countries around the globe, and features a very powerful creation of fixed date liststhat can be used for reminding purposes. Gcal can calculate various astronomical data and times of the Sun and the Moon for pleasure at any location, precisely enough for most civil purposes.
Gcal supports some other calendar systems, for example, the Chinese and Japanese calendars, the Hebrew calendar, and the civil Islamic calendar, too.
English user manual included; German user manual included.
Main features:
- Some special calendar sheet formats.
- Calendar sheets can be provided with week numbers.
- Variable number of year calendar sheet blocks.
- Adjustable ordering of displayed dates.
- Adjustable period of Gregorian Reformation.
- Proleptic Julian and Gregorian calendars.
- Adjustable highlighting of holidays and actual day.
- Variable starting day of week.
- Output of day-of-year numbers and concatenated day and day-of-year numbers.
- Allows user-defined ordering of the date elements.
- Output of fiscal years.
- Output of lists or ranges of months or years.
- Sorted output of selectable country/territory specific eternal holiday lists (mostly complete) for nearly *all* countries around the globe, which are generated automatically.
- Sorted output of Christian Western churches calendar holidays, Orthodox Christian Eastern churches old and new calendar holidays, Hebrew calendar holidays, Islamic civil calendar holidays (since AD 622), Persian "Jalaali" calendar holidays, Chinese and Japanese calendar holidays (since AD 1645), more "other" calendar system holidays, multicultural New Years Days, and start of "other" calendar system months, which are also generated automatically.
- Sorted output of fixed date lists which can be defined and created in a highly flexible manner.
- Allows filtration of fixed dates by using regular expressions and other built-in methods.
- Allows the use of date and text variables and basic operations on them.
- Some gimmicks like solar and lunar eclipse time, sunrise/sunset plus a lot of other Sun based data and times, Moon phase, Full and New Moon time, moonrise/moonset plus a lot of other Moon based data and times, zodiacal markers, equinox and solstice, air line distance between two geographic point locations plus course angles, biorhythm et cetera...
- Fixed dates can be stored in several files.
- Nearly unlimited nesting level of include files.
- Nearly unlimited internal text and table lengths.
- Default options can be stored in the `GCAL environment variable.
- Options and commands stored in response files can be preloaded.
- Uses either an external pager or a simple built-in pager.
- Detailed Texinfo reference manual.
- German, English and American program version by default.
- Supports various computer platforms.
- GNU `gettext internationalization technology, which allows the use of message catalogs for most native languages.
- GNU `autoconf(iguration) installation technology.
- Supports both UN*X short-style options and GNU long-style options.
Download (2.3MB)
Added: 2006-06-08 License: GPL (GNU General Public License) Price:
1236 downloads
Geo::Google 0.02
Geo::Google is a Perl module to perform geographical queries using Google Maps. more>>
Geo::Google is a Perl module to perform geographical queries using Google Maps.
SYNOPSIS
use strict;
use Data::Dumper;
use Geo::Google;
#My office
my $gonda_addr = 695 Charles E Young Dr S, Westwood, CA 90024;
#Stans Donuts
my $stans_addr = 10948 Weyburn Ave, Westwood, CA 90024;
#Instantiate a new Geo::Google object.
my $geo = Geo::Google->new();
#Create Geo::Google::Location objects. These contain
#latitude/longitude coordinates, along with a few other details
#about the locus.
my ( $gonda ) = $geo->location( address => $gonda_addr );
my ( $stans ) = $geo->location( address => $stans_addr );
print $gonda->latitude, " / ", $gonda->longitude, "n";
print $stans->latitude, " / ", $stans->longitude, "n";
#Create a Geo::Google::Path object.
my ( $donut_path ) = $geo->path($gonda,$stans);
#A path contains a series of Geo::Google::Segment objects with
#text labels representing turn-by-turn driving directions between
#the two loci.
my @segments = $donut_path->segments();
#This is the human-readable directions for the first leg of the
#journey.
print $segments[0]->text(),"n";
#Geo::Google::Segment objects contain a series of
#Geo::Google::Location objects -- one for each time the segment
#deviates from a straight line to the end of the segment.
my @points = $segments[1]->points;
print $points[0]->latitude, " / ", $points[0]->longitude, "n";
#Now how about some coffee nearby?
my @coffee = $geo->near($stans,coffee);
#Too many. How about some Coffee Bean & Tea Leaf?
@coffee = grep { $_->title =~ /Coffee.*?Bean/i } @coffee;
#Still too many. Lets find the closest with a little trig and
#a Schwartzian transform
my ( $coffee ) = map { $_->[1] }
sort { $a->[0] $b->[0] }
map { [ sqrt(
($_->longitude - $stans->longitude)**2
+
($_->latitude - $stans->latitude)**2
), $_ ] } @coffee;
Geo::Google provides access to the map data used by the popular Google Maps web application.
<<lessSYNOPSIS
use strict;
use Data::Dumper;
use Geo::Google;
#My office
my $gonda_addr = 695 Charles E Young Dr S, Westwood, CA 90024;
#Stans Donuts
my $stans_addr = 10948 Weyburn Ave, Westwood, CA 90024;
#Instantiate a new Geo::Google object.
my $geo = Geo::Google->new();
#Create Geo::Google::Location objects. These contain
#latitude/longitude coordinates, along with a few other details
#about the locus.
my ( $gonda ) = $geo->location( address => $gonda_addr );
my ( $stans ) = $geo->location( address => $stans_addr );
print $gonda->latitude, " / ", $gonda->longitude, "n";
print $stans->latitude, " / ", $stans->longitude, "n";
#Create a Geo::Google::Path object.
my ( $donut_path ) = $geo->path($gonda,$stans);
#A path contains a series of Geo::Google::Segment objects with
#text labels representing turn-by-turn driving directions between
#the two loci.
my @segments = $donut_path->segments();
#This is the human-readable directions for the first leg of the
#journey.
print $segments[0]->text(),"n";
#Geo::Google::Segment objects contain a series of
#Geo::Google::Location objects -- one for each time the segment
#deviates from a straight line to the end of the segment.
my @points = $segments[1]->points;
print $points[0]->latitude, " / ", $points[0]->longitude, "n";
#Now how about some coffee nearby?
my @coffee = $geo->near($stans,coffee);
#Too many. How about some Coffee Bean & Tea Leaf?
@coffee = grep { $_->title =~ /Coffee.*?Bean/i } @coffee;
#Still too many. Lets find the closest with a little trig and
#a Schwartzian transform
my ( $coffee ) = map { $_->[1] }
sort { $a->[0] $b->[0] }
map { [ sqrt(
($_->longitude - $stans->longitude)**2
+
($_->latitude - $stans->latitude)**2
), $_ ] } @coffee;
Geo::Google provides access to the map data used by the popular Google Maps web application.
Download (0.010MB)
Added: 2006-11-20 License: Perl Artistic License Price:
1068 downloads
Geo::Spline 0.16
Geo::Spline is a Perl module to calculate geographic locations between GPS fixes. more>>
Geo::Spline is a Perl module to calculate geographic locations between GPS fixes.
SYNOPSIS
use Geo::Spline;
my $p0={time=>1160449100.67, #seconds
lat=>39.197807, #degrees
lon=>-77.263510, #degrees
speed=>31.124, #m/s
heading=>144.8300}; #degrees clockwise from North
my $p1={time=>1160449225.66,
lat=>39.167718,
lon=>-77.242278,
speed=>30.615,
heading=>150.5300};
my $spline=Geo::Spline->new($p0, $p1);
my %point=$spline->point(1160449150);
print "Lat:", $point{"lat"}, ", Lon:", $point{"lon"}, "nn";
my @points=$spline->pointlist();
foreach (@points) {
print "Lat:", $_->{"lat"}, ", Lon:", $_->{"lon"}, "n";
}
This program was developed to be able to calculate the position between two GPS fixes using a 2-dimensional 3rd order polynomial spline.
f(t) = A + B(t-t0) + C(t-t0)^2 + D(t-t0)^3 #position in X and Y
f(t) = B + 2C(t-t0) + 3D(t-t0)^2 #velocity in X and Y
I did some simple Math (for an engineer with a math minor) to come up with these formulas to calculate the unknowns from our knowns.
A = x0 # when (t-t0)=0 in f(t)
B = v0 # when (t-t0)=0 in f(t)
C = (x1-A-B(t1-t0)-D(t1-t0)^3)/(t1-t0)^2 # solve for C from f(t)
C = (v1-B-3D(t1-t0)^2)/2(t1-t0) # solve for C from f(t)
D = (v1(t1-t0)+B(t1-t0)-2x1+2A)/(t1-t0)^3 # equate C=C then solve for D
<<lessSYNOPSIS
use Geo::Spline;
my $p0={time=>1160449100.67, #seconds
lat=>39.197807, #degrees
lon=>-77.263510, #degrees
speed=>31.124, #m/s
heading=>144.8300}; #degrees clockwise from North
my $p1={time=>1160449225.66,
lat=>39.167718,
lon=>-77.242278,
speed=>30.615,
heading=>150.5300};
my $spline=Geo::Spline->new($p0, $p1);
my %point=$spline->point(1160449150);
print "Lat:", $point{"lat"}, ", Lon:", $point{"lon"}, "nn";
my @points=$spline->pointlist();
foreach (@points) {
print "Lat:", $_->{"lat"}, ", Lon:", $_->{"lon"}, "n";
}
This program was developed to be able to calculate the position between two GPS fixes using a 2-dimensional 3rd order polynomial spline.
f(t) = A + B(t-t0) + C(t-t0)^2 + D(t-t0)^3 #position in X and Y
f(t) = B + 2C(t-t0) + 3D(t-t0)^2 #velocity in X and Y
I did some simple Math (for an engineer with a math minor) to come up with these formulas to calculate the unknowns from our knowns.
A = x0 # when (t-t0)=0 in f(t)
B = v0 # when (t-t0)=0 in f(t)
C = (x1-A-B(t1-t0)-D(t1-t0)^3)/(t1-t0)^2 # solve for C from f(t)
C = (v1-B-3D(t1-t0)^2)/2(t1-t0) # solve for C from f(t)
D = (v1(t1-t0)+B(t1-t0)-2x1+2A)/(t1-t0)^3 # equate C=C then solve for D
Download (0.020MB)
Added: 2007-05-18 License: Perl Artistic License Price:
890 downloads
GeoVistaStudio 1.2
GeoVISTA Studio is an open software development environment designed for geospatial data. more>>
GeoVISTA Studio is an open software development environment designed for geospatial data. GeoVistaStudio is a programming-free environment that allows users to quickly build applications for geocomputation and geographic visualization.
One barrier to the uptake of Geocomputation and Geovisualization is there is no system or toolbox that provides easy access to useful functionality. GeoVISTA Studio provides rapid, programming free development of complex applications for:
- data exploration
- knowledge construction
- geocomputation
- visualization
Studio Includes Interactive Query Devices for Exploratory GeoVisualization, 3D Render for complex and sophisticated 3D graphics, 2D mapping and statistical tools.
Studio provides a:
1. Visual Programming-Free Environment for rapid development.
2. Component-Oriented Programming: uses JavaBeans as programming components. Any JavaBeans (developed by 3rd parties) can be plugged in!
3. Recursive Development turns a developed application into a JavaBean component. Developed components (applications) are reusable (scalable), and developed components can be shared by other Studio users and/or java programmers.
<<lessOne barrier to the uptake of Geocomputation and Geovisualization is there is no system or toolbox that provides easy access to useful functionality. GeoVISTA Studio provides rapid, programming free development of complex applications for:
- data exploration
- knowledge construction
- geocomputation
- visualization
Studio Includes Interactive Query Devices for Exploratory GeoVisualization, 3D Render for complex and sophisticated 3D graphics, 2D mapping and statistical tools.
Studio provides a:
1. Visual Programming-Free Environment for rapid development.
2. Component-Oriented Programming: uses JavaBeans as programming components. Any JavaBeans (developed by 3rd parties) can be plugged in!
3. Recursive Development turns a developed application into a JavaBean component. Developed components (applications) are reusable (scalable), and developed components can be shared by other Studio users and/or java programmers.
Download (MB)
Added: 2006-01-13 License: LGPL (GNU Lesser General Public License) Price:
1380 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::Google::Location 0.02
Geo::Google::Location is a geographical point. more>>
Geo::Google::Location is a geographical point.
SYNOPSIS
use Geo::Google::Point;
# you shouldnt need to construct these yourself,
# have a Geo::Google object do it for you.
OBJECT METHODS
Geo::Google::Location objects provide the following accessor methods
Method Description
------ -----------
icon an icon to use when drawing this point.
id a unique identifier for this point.
infostyle unknown function.
latitude latitude of the point, to hundred-thousandth degree precision.
lines a few lines describing the point, useful as a label
longitude longitude of the point, to hundred-thousandth degree precision.
title a concise description of the point.
toString a method that renders the point in Google Maps XML format.
<<lessSYNOPSIS
use Geo::Google::Point;
# you shouldnt need to construct these yourself,
# have a Geo::Google object do it for you.
OBJECT METHODS
Geo::Google::Location objects provide the following accessor methods
Method Description
------ -----------
icon an icon to use when drawing this point.
id a unique identifier for this point.
infostyle unknown function.
latitude latitude of the point, to hundred-thousandth degree precision.
lines a few lines describing the point, useful as a label
longitude longitude of the point, to hundred-thousandth degree precision.
title a concise description of the point.
toString a method that renders the point in Google Maps XML format.
Download (0.010MB)
Added: 2006-11-27 License: Perl Artistic License Price:
1062 downloads
geotool 0.9.1
geotool is a small tool that is a collection of some GeoIP.dat quirks. more>>
geotool is a small tool that is a collection of some GeoIP.dat quirks.
Inserts countries into output of numerous cmdline network tools reverses GeoIP.dat into a guarding.p2p.
Usage:
geotool [OPTION]... GeoIP.dat
--trace=IP show geological position of IP or domain --trace=- will read (for example) traceroute output from stdin and insert geographic information behind IPs or domains
--reverse[=SKIP] reverse GeoIP.dat into a list of countries with their IP ranges (guarding.p2p); SKIP sets how many IPs should be skipped before the next check
0 will result in the most correct list
256 for slow computers (default)
65536 fastest
--version output version information and exit
--help display this help and exit
<<lessInserts countries into output of numerous cmdline network tools reverses GeoIP.dat into a guarding.p2p.
Usage:
geotool [OPTION]... GeoIP.dat
--trace=IP show geological position of IP or domain --trace=- will read (for example) traceroute output from stdin and insert geographic information behind IPs or domains
--reverse[=SKIP] reverse GeoIP.dat into a list of countries with their IP ranges (guarding.p2p); SKIP sets how many IPs should be skipped before the next check
0 will result in the most correct list
256 for slow computers (default)
65536 fastest
--version output version information and exit
--help display this help and exit
Download (0.011MB)
Added: 2006-08-14 License: GPL (GNU General Public License) Price:
1188 downloads
Number::Phone::IE 0.2
Number::Phone::IE is a Perl module with Republic of Ireland-specific methods for Number::Phone. more>>
Number::Phone::IE is a Perl module with Republic of Ireland-specific methods for Number::Phone.
SYNOPSIS
use Number::Phone;
$dermots_phone = Number::Phone->new(IE, 017654321);
METHODS
The following methods from Number::Phone are overridden:
is_valid
The number is valid within the national numbering scheme. It may or may not yet be allocated, or it may be reserved. Any number which returns true for any of the following methods will also be valid.
is_allocated
The number has been allocated to a telco for use. It may or may not yet be in use or may be reserved. Not currently implemented.
is_geographic
The number refers to a geographic area.
is_fixed_line
The number, when in use, can only refer to a fixed line.
is_mobile
The number, when in use, can only refer to a mobile phone.
is_pager
The number, when in use, can only refer to a pager.
is_tollfree
Callers will not be charged for calls to this number under normal circumstances.
is_specialrate
The number, when in use, attracts special rates. For instance, national dialling at local rates, or premium rates for services.
is_adult
The number, when in use, goes to a service of an adult nature, such as porn.
is_network_service
The number is some kind of network service such as a human operator, directory enquiries, emergency services etc
country_code
Returns 353.
regulator
Returns some text in an appropriate character set saying who the telecoms regulator is, with optional details such as their web site or phone number.
areacode
Return the area code - if applicable - for the number. If not applicable, returns undef.
areaname
Return the area name - if applicable - for the number, or undef.
subscriber
Return the subscriber part of the number
operator
Return the name of the telco operating this number, in an appropriate character set and with optional details such as their web site or phone number. Not currently implemented.
format
Return a sanely formatted version of the number, complete with IDD code, eg for the Irish number (021) 765-4321 it would return +353 21 7654321.
country
If the number is_international, return the two-letter ISO country code.
NYI
Version restrictions:
- Strictly sppeaking, this kind of duplication of the Number::Phone::UK class is bad. A tidy-up is in order, though it may emerge that a completely new implemantation is better.
- The results are only as accurate as my own investigations into current allocations. User feedback welcome.
- While the names of the nominal owners of mobile prefixes are given, number portability makes this information unreliable.
<<lessSYNOPSIS
use Number::Phone;
$dermots_phone = Number::Phone->new(IE, 017654321);
METHODS
The following methods from Number::Phone are overridden:
is_valid
The number is valid within the national numbering scheme. It may or may not yet be allocated, or it may be reserved. Any number which returns true for any of the following methods will also be valid.
is_allocated
The number has been allocated to a telco for use. It may or may not yet be in use or may be reserved. Not currently implemented.
is_geographic
The number refers to a geographic area.
is_fixed_line
The number, when in use, can only refer to a fixed line.
is_mobile
The number, when in use, can only refer to a mobile phone.
is_pager
The number, when in use, can only refer to a pager.
is_tollfree
Callers will not be charged for calls to this number under normal circumstances.
is_specialrate
The number, when in use, attracts special rates. For instance, national dialling at local rates, or premium rates for services.
is_adult
The number, when in use, goes to a service of an adult nature, such as porn.
is_network_service
The number is some kind of network service such as a human operator, directory enquiries, emergency services etc
country_code
Returns 353.
regulator
Returns some text in an appropriate character set saying who the telecoms regulator is, with optional details such as their web site or phone number.
areacode
Return the area code - if applicable - for the number. If not applicable, returns undef.
areaname
Return the area name - if applicable - for the number, or undef.
subscriber
Return the subscriber part of the number
operator
Return the name of the telco operating this number, in an appropriate character set and with optional details such as their web site or phone number. Not currently implemented.
format
Return a sanely formatted version of the number, complete with IDD code, eg for the Irish number (021) 765-4321 it would return +353 21 7654321.
country
If the number is_international, return the two-letter ISO country code.
NYI
Version restrictions:
- Strictly sppeaking, this kind of duplication of the Number::Phone::UK class is bad. A tidy-up is in order, though it may emerge that a completely new implemantation is better.
- The results are only as accurate as my own investigations into current allocations. User feedback welcome.
- While the names of the nominal owners of mobile prefixes are given, number portability makes this information unreliable.
Download (0.11MB)
Added: 2007-04-03 License: Perl Artistic License Price:
939 downloads
GRASS GIS 6.2.2
GRASS GIS is a Geographic Resources Analysis Support System. more>>
Commonly referred to as GRASS, this is a Geographic Information System (GIS) used for geospatial data management and analysis, image processing, graphics/maps production, spatial modeling, and visualization. GRASS is currently used in academic and commercial settings around the world, as well as by many governmental agencies and environmental consulting companies.
GRASS GIS is free software released under the GNU/GPL license.
<<lessGRASS GIS is free software released under the GNU/GPL license.
Download (12MB)
Added: 2007-07-16 License: GPL (GNU General Public License) Price:
840 downloads
GeoServer 1.5.3 / 1.6.0 Beta 2
GeoServer is a web feature server to share geographic information. more>>
GeoServer project is a full transactional Java (J2EE) implementation of the OpenGIS Consortiums Web Feature Server specification, with an integrated WMS.
GeoServer is free software, available under the GPL 2.0 license.
Users who would like to access and modify their geographic data over the Internet using flexible, industry-approved standards should take a look at GeoServer or one of the existing commercial Web Feature Servers.
You can define your geoserver data directory in three ways:
1. "GEOSERVER_DATA_DIR" system property. this will most likely have come from "java -DGEOSERVER_DATA_DIR=..." or from you web containers GUI
2. "GEOSERVER_DATA_DIR" in the web.xml document:
< context-param >
< param-name >GEOSERVER_DATA_DIR< /param-name >
< param-value >c:myGeoserverData< /param-value >
< /context-param >
3. Defaults to the old behavior - ie. the application root - usually "server/geoserver" in your .WAR.
To make a new one of these data directories, just:
1. create the data directory
2. copy "data/" from an already running geoserver
3. create a "WEB-INF/" directory
5. copy "catalog.xml" and "services.xml" into the WEB-INF/ directory
Whats New in 1.6.0 Beta 2 Development Release:
- This is the second beta release in the 1.6 series of GeoServer. Besides the usual raft of bug fixes, the most notable additions are the much more configurable logging subsystem, the new connection pooling subsystem with much better control on the number of opened database connections, templated GetFeatureInfo, improvements in date/time handling in WFS 1.1, improved layer grouping, and new mash up demos with Google Map, Yahoo! Map and Microsoft Virtual Earth. The full change log for this release can be found here: http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=10311&styleName=Html&version=13547 This release is based on Geotools 2.4-SNAPSHOT, tag = geoserver-1.6-beta2, revision 26251.
Whats New in 1.5.3 Stable Release:
Bug
- [GEOS-1271] - georss output does not work with shorthand, or without being url encoded
- [GEOS-1272] - georss output ignores bounding box
- [GEOS-1273] - atom rss producer should declare georss namespace mapping
- [GEOS-1278] - wfs:Delete does not work anymore with Oracle Datastore since 1.5.2
- [GEOS-1286] - Coverage configuration form allows pure SRS number to be inputed, but all of the code expects EPSG:XXXX instead
Improvement
- [GEOS-1118] - The wms-gs-1_0_1.js library doesnt take SLD parameter into account
- [GEOS-1274] - KML polygons should have borders by default (like before)
- [GEOS-1275] - Default text color for KML should be white
- [GEOS-1277] - Use 900913 for gs-wms.js, to help promote that value
<<lessGeoServer is free software, available under the GPL 2.0 license.
Users who would like to access and modify their geographic data over the Internet using flexible, industry-approved standards should take a look at GeoServer or one of the existing commercial Web Feature Servers.
You can define your geoserver data directory in three ways:
1. "GEOSERVER_DATA_DIR" system property. this will most likely have come from "java -DGEOSERVER_DATA_DIR=..." or from you web containers GUI
2. "GEOSERVER_DATA_DIR" in the web.xml document:
< context-param >
< param-name >GEOSERVER_DATA_DIR< /param-name >
< param-value >c:myGeoserverData< /param-value >
< /context-param >
3. Defaults to the old behavior - ie. the application root - usually "server/geoserver" in your .WAR.
To make a new one of these data directories, just:
1. create the data directory
2. copy "data/" from an already running geoserver
3. create a "WEB-INF/" directory
5. copy "catalog.xml" and "services.xml" into the WEB-INF/ directory
Whats New in 1.6.0 Beta 2 Development Release:
- This is the second beta release in the 1.6 series of GeoServer. Besides the usual raft of bug fixes, the most notable additions are the much more configurable logging subsystem, the new connection pooling subsystem with much better control on the number of opened database connections, templated GetFeatureInfo, improvements in date/time handling in WFS 1.1, improved layer grouping, and new mash up demos with Google Map, Yahoo! Map and Microsoft Virtual Earth. The full change log for this release can be found here: http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=10311&styleName=Html&version=13547 This release is based on Geotools 2.4-SNAPSHOT, tag = geoserver-1.6-beta2, revision 26251.
Whats New in 1.5.3 Stable Release:
Bug
- [GEOS-1271] - georss output does not work with shorthand, or without being url encoded
- [GEOS-1272] - georss output ignores bounding box
- [GEOS-1273] - atom rss producer should declare georss namespace mapping
- [GEOS-1278] - wfs:Delete does not work anymore with Oracle Datastore since 1.5.2
- [GEOS-1286] - Coverage configuration form allows pure SRS number to be inputed, but all of the code expects EPSG:XXXX instead
Improvement
- [GEOS-1118] - The wms-gs-1_0_1.js library doesnt take SLD parameter into account
- [GEOS-1274] - KML polygons should have borders by default (like before)
- [GEOS-1275] - Default text color for KML should be white
- [GEOS-1277] - Use 900913 for gs-wms.js, to help promote that value
Download (20.4MB)
Added: 2007-08-15 License: GPL (GNU General Public License) Price:
501 downloads
Other version of GeoServer
License:GPL (GNU General Public License)
GeoQO 0.7
GeoQO project is a geographical waypoint management software. more>>
GeoQO project is a geographical waypoint management software set that lets you manage your geocaches and other types of geographical data.
- geoqo: The command line interface to your data
(this is likely what most people need).
- GeoDB: The perl module interface which geoqo is built on top of.
(Programmers may wish to use these modules too).
Note/Warning: This is a work in progress. There are many more features than are currently documented (Im working on it; be patient). If you have questions, stop by the #geocache IRC chat room and Id be happy to answer questions. Or even better, write the mailing list and I or someone else will help you.
Enhancements:
- Geocaches can be rated and ratings can be sent to and retrieved from a rating server.
- Perl can be directly embedded within scripts.
- The top10 module can do averages as well as call scripts on each result.
- Improved GUI support.
- Other miscellaneous improvements and changes.
<<less- geoqo: The command line interface to your data
(this is likely what most people need).
- GeoDB: The perl module interface which geoqo is built on top of.
(Programmers may wish to use these modules too).
Note/Warning: This is a work in progress. There are many more features than are currently documented (Im working on it; be patient). If you have questions, stop by the #geocache IRC chat room and Id be happy to answer questions. Or even better, write the mailing list and I or someone else will help you.
Enhancements:
- Geocaches can be rated and ratings can be sent to and retrieved from a rating server.
- Perl can be directly embedded within scripts.
- The top10 module can do averages as well as call scripts on each result.
- Improved GUI support.
- Other miscellaneous improvements and changes.
Download (0.11MB)
Added: 2007-04-10 License: GPL (GNU General Public License) Price:
928 downloads

PlexIpLocator 1.0
PlexIpLocator is designed to help companies to make customized web sites that meet specific needs of users. more>>
PlexIpLocator 1.0 is designed to help companies to make customized web sites that meet specific needs of users. For example, an e-commerce site can use this to provide shipping information, location of the nearest store. In addition, a portal site may provide local news, weather or other information to the user.
Major Features:
- The geographical information can help companies determine who are their customers and they can better market and promote their products to those users.
- PlexIpLocator can help companies implement security policies. For example, a company may not display or sell some products or information if the user is coming from specific part of the world. There are different export laws for different parts of the world. This product can help companies to follow these laws. For example, US companies may not sell encryption technology that supports greater than 40 bits to foreign countries. Above are just a few of the applications of PlexIpLocator, the opportunities are limitless.
- PlexIpLocator comes as a Java library and Java tag library and can be easily integrated with J2EE based environment.
- PlexIpLocator will automatically update new geographical and other information to help track IP addresses.
Enhancements: Added support for deleted domains
Requirements:
- Java Runtime Environment (JRE) version of 1.4 or later
- 20MB disk space
Added: 2007-12-20 License: Other/Proprietary Li... Price: FREE
1 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 geographical 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