Main > Free Download Search >

Free geo software for linux

geo

Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 60
GEO 0.1.7

GEO 0.1.7


GEO project is a C++ geometric template class library. more>>
GEO project is a C++ geometric template class library.

Use this library for your graphical, image processing, or scientific applications.

GEO has rich set of operations with vectors and matrices, 2D and 3D objects (such as finding convex hull, bounding box), triangulation, tesselation, etc.
<<less
Download (0.029MB)
Added: 2006-09-28 License: MIT/X Consortium License Price:
1122 downloads
ipgeo 1.3

ipgeo 1.3


libipgeo is a small library written on top of the IP2LOCATION database allowing the user to do geo-targeting of IP addresses. more>>
libipgeo library is written on top of the IP2LOCATION database allowing the user to do geo-targeting of IP addresses. For a given IPv4 address, libipgeo can lookup the following:

Country Code
Country
Region
City
Latitude
Longitude
ISP

NEW:libipgeo now searchs the IP2LOCATION database in O(lg n) and is TONS faster!

Included with the libipgeo distribution is a simple traceroute client that does IPv4 targeting:

[rounder:Projects/libipg/sample] root# ./trig -ien1 -LlCry 4.2.2.2 ../../IP-COUNTRY-REGION-CITY-LATITUDE-LONGITUDE-ISP-FULL/
IP-COUNTRY-REGION-CITY-LATITUDE-LONGITUDE-ISP.CSV
Trig 1.0 [geo-targeting traceroute scanner]
01: 66.123.162.113 US SAN RAMON CALIFORNIA 37.7661 -121.9730
02: 63.203.35.65 US SAN FRANCISCO CALIFORNIA 37.7002 -122.4060
03: 63.203.35.17 US SAN FRANCISCO CALIFORNIA 37.7002 -122.4060
04: 64.161.1.30 CA MONTREAL QUEBEC 45.5000 -73.5830
05: 64.161.1.54 CA MONTREAL QUEBEC 45.5000 -73.5830
06: 144.223.242.81 US KANSAS CITY MISSOURI 39.1749 -94.5804
07: 209.245.146.245 US UNKNOWN UNKNOWN 0.0000 0.0000
08: 209.244.3.137 US BROOMFIELD COLORADO 39.9135 -105.0930
09: 64.159.4.74 US SAN CLEMENTE CALIFORNIA 33.4322 -117.5780
10: 4.24.9.142 EG CAIRO AL QAHIRAH 30.0500 31.2500
11: 4.2.2.2 US PROVIDENCE RHODE ISLAND 41.8231 -71.4204
<<less
Download (0.13MB)
Added: 2006-03-09 License: BSD License Price:
754 downloads
Geo::Gpx 0.15

Geo::Gpx 0.15


Geo::Gpx is a Perl module to create and parse GPX files. more>>
Geo::Gpx is a Perl module to create and parse GPX files.

SYNOPSIS

# Version 0.10 compatibility
use Geo::Gpx;
my $gpx = Geo::Gpx->new( @waypoints );
my $xml = $gpx->xml;

# New API, generate GPX
my $gpx = Geo::Gpx->new();
$gpx->waypoints(@wpt);
my $xml = $gpx->xml(1.0);

# Parse GPX
my $gpx = Geo::Gpx->new( xml => $xml );
my $waypoints = $gpx->waypoints();
my $tracks = $gpx->tracks();

# Parse GPX from open file
my $gpx = Geo::Gpx->new( input => $fh );
my $waypoints = $gpx->waypoints();
my $tracks = $gpx->tracks();

The original goal of this module was to produce GPX/XML files which were parseable by both GPX Spinner and EasyGPS. As of version 0.13 it has been extended to support general parsing and generation of GPX data. GPX 1.0 and 1.1 are supported.

<<less
Download (0.012MB)
Added: 2007-01-13 License: Perl Artistic License Price:
1021 downloads
Dr. Geo 1.1.0

Dr. Geo 1.1.0


Dr. Geo is a GTK interactive geometry software. more>>
Dr. Geo is a GTK interactive geometry software. It allows one to create geometric figure plus the interactive manipulation of such figure in respect with their geometric constraints. It is useable in teaching situation with students from primary or secondary level.

Dr. Geo integrates advanced features as an integrated Scheme programming language to define scripts within a figure. The language is also used to define functionnaly interactive figure.

Dr. Geo is a software part of the GNU project. This means it is a free software (as free speech) and you have access to the source code under the GPL license. You can modify and distribute it as long as the same distribution license (GPL) is used.

<<less
Download (0.75MB)
Added: 2005-07-27 License: GPL (GNU General Public License) Price:
1553 downloads
Geo::ECEF 0.08

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

<<less
Download (0.005MB)
Added: 2007-05-18 License: Perl Artistic License Price:
903 downloads
Geo::Google 0.02

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.

<<less
Download (0.010MB)
Added: 2006-11-20 License: Perl Artistic License Price:
1068 downloads
Geo::Raster 0.42

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.

<<less
Download (0.087MB)
Added: 2007-06-27 License: Perl Artistic License Price:
853 downloads
Geo::Spline 0.16

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

<<less
Download (0.020MB)
Added: 2007-05-18 License: Perl Artistic License Price:
890 downloads
Geo::Shapelib 0.20

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.

<<less
Download (0.26MB)
Added: 2006-09-30 License: Perl Artistic License Price:
1121 downloads
Geo::Inverse 0.05

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);

<<less
Download (0.004MB)
Added: 2007-05-18 License: Perl Artistic License Price:
889 downloads
Geo::Distance 0.11

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.

<<less
Download (0.010MB)
Added: 2007-07-24 License: Perl Artistic License Price:
824 downloads
Geo::ShapeFile 2.51

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.

<<less
Download (0.27MB)
Added: 2007-05-18 License: Perl Artistic License Price:
899 downloads
XGngeo 16 Final

XGngeo 16 Final


XGngeo is a frontend (GUI) for Gngeo which is a powerful command line Neo Geo emulator for the GNU/Linux system. more>>
XGngeo is a frontend (GUI) for Gngeo which is a powerful command line Neo Geo emulator for the GNU/Linux system (and may be some other Unices).

Both are free softwares released under the GNU GPL license. XGngeo is written in Python and uses the PyGTK library to provide a complete, pratical, and user-friendly GTK+ interface over Gngeo!

With XGngeo multiple configuration panels, designed in an intuitive way, emulator behaviour can be regulated both precisely and easily; while Rom selection is made simple thanks to a full featured list with preview image and various game information, etc.

XGngeos current version is translated in: Brazilian, English, French, Polish and Spanish.

<<less
Download (0.33MB)
Added: 2006-09-30 License: GPL (GNU General Public License) Price:
1135 downloads
Geo::Coder::Yahoo 0.02

Geo::Coder::Yahoo 0.02


Geo::Coder::Yahoo is a Perl module with geocode addresses with the Yahoo! API. more>>
Geo::Coder::Yahoo is a Perl module with geocode addresses with the Yahoo! API.

SYNOPSIS

Provides a thin Perl interface to the Yahoo! Geocoding API.
use Geo::Coder::Yahoo;

my $geocoder = Geo::Coder::Yahoo->new(appid => my_app );
my $location = $geocoder->geocode( location => Hollywood and Highland, Los Angeles, CA );

<<less
Download (0.005MB)
Added: 2006-12-06 License: Perl Artistic License Price:
1052 downloads
Geo::Coder::US 1.00

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:

  1. 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.
  2. Geo:Coder:US->geocode_address( $string )
    • Works exactly like geocode(), but only parses addresses.
  3. Geo:Coder:US->geocode_intersection( $string )
    • Works exactly like geocode(), but only parses intersections.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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

<<less
Added: 2009-06-11 License: Perl Artistic License Price: FREE
1 downloads
Secleted [ 0 ] software to compare
  • Page: 1 of 4
  • 1
  • 2
  • 3
  • 4