GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Geo::JSON(3) User Contributed Perl Documentation Geo::JSON(3)

Geo::JSON - Perl OO interface for geojson

    use Geo::JSON;
    
    my $obj = Geo::JSON->from_json( $json );
    
    $obj->to_json();

Convert to and from geojson using Perl objects. GeoJSON objects represent various geographical positions - points, lines, polygons, etc.

Currently supports 2 or 3 dimensions (longitude, latitude, altitude). Further dimensions in positions are ignored for calculations and comparisons, but will be read-from and written-to.

See: <http://www.geojson.org/geojson-spec.html>

See the specification for the full details, but the basics are as follows:
  • "type"

    Determines the object the json will be turned into

  • "position"

    Not explicitly named in the json, but an array of at least two numbers representing a location in x, y, z order (either Easting, Northing, Altitude or Longitude, Latitude, Altitude as appropriate).

    Additional numbers may be present but ignored by this package for calculations.

  • "coordinates"

    Defined in geometry objects (Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon). Will consist of a single position (Point), an array of positions (MultiPoint, LineString), an array of arrays of positions (MultiLineString, Polygon) or an array of arrays of arrays of positions (MultiPolygon). The positions within a single object should all have the same number of axes and be in the same axis order.

  • "bbox"

    Optional, defining a bounding box that the position(s) are contained by.

    The box is defined by a array of 2*n items, where n is the number of dimensions in a position. The items are the lowest value for an axis followed by the highest value for an axis, in the axis order used in the positions.

    The Co-ordinates Reference System for the bounding box is assumed to match that of the object.

  • "crs"

    Optional, defining the Co-ordinates Reference System the object is using. See Geo::JSON::CRS for more details.

  • Geo::JSON::Point

    A single position

  • Geo::JSON::MultiPoint

    An array of positions, representing multiple points

  • Geo::JSON::LineString

    An array of 2 or more positions, represening a connected line

  • Geo::JSON::MultiLineString

    An array of lines

  • Geo::JSON::Polygon

    An array of lines, defining a polygon. The first line represents the outside of the polygon, subsequent lines define any 'holes'. The lines must be 'linear rings' - 4 or more points, with the first and last points being equivalent.

  • Geo::JSON::MultiPolygon

    An array of polygons

  • Geo::JSON::GeometryCollection

    An array of any of the above Geometry objects (as attribute "geometries")

Geo::JSON::Feature

Any of the above objects (as attribute "feature"), together with a data structure (as attruibute "properties")

Geo::JSON::FeatureCollection

An array of Feature objects (as attribute "features")

    my $obj = Geo::JSON->from_json( $json );

Takes a geojson string, returns the object it represents.

    $obj->to_json();
    $obj->to_json( $codec );

Call on a Geo::JSON object. Returns the JSON that represents the object.

Pass in an optional JSON codec to modify the default behaviour of the JSON returned.

    my $obj = Geo::JSON->load( { type => 'Point', coordinates => ... } );

Creates a Geo::JSON object from a hashref.

This is used for coercion of attributes during object creation, and probably should not be called directly otherwise.

    Geo::JSON->codec->canonical(1)->pretty;
    
    my $prev_codec = Geo::JSON->codec($new_codec);

Set options on or replace JSON codec.

Tim Bunce - for codec suggestions and bug spotting.

Geo::JSON::Simple - simple interface to create Geo::JSON objects.

Please report any bugs or feature requests through the issue tracker at <https://github.com/mjemmeson/Geo-JSON/issues>. You will be notified automatically of any progress on your issue.

This is open source software. The code repository is available for public review and contribution under the terms of the license.

<https://github.com/mjemmeson/Geo-JSON>

  git clone https://github.com/mjemmeson/Geo-JSON.git

Michael Jemmeson <mjemmeson@cpan.org>

This software is copyright (c) 2015 by Michael Jemmeson <mjemmeson@cpan.org>.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

2015-02-16 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.