Skip to main content

A simple geojson provider for faker

Project description

GeoFactory

This is a faker provider that generates fake geojson data. It simulates all the different types of features and geometries in the geojson specification. There is also a test suite for the class and it's methods run with pytest.

Setup

Install from source:

pip install git+https://github.com/scook12/geofactory.git@master

OR

pipenv install git+https://github.com/scook12/geofactory.git@master#egg=geofactory

Install with pip:

pip install geofactory-scook

Use

GeoFactory is just an additional community provider for geojson.

An example might look like this:

from faker import Faker

from geofactory import GeoFactory

factory = Faker()

factory.add_provider(GeoFactory)

pt = factory.point()

pt is now a valid geojson Point feature. All methods follow this pattern.

Methods

lnglat

Returns a given number of random longitude/latitude pairs.

point

Returns a single geojson point object with random coordinates

multipoint

Returns a multipoint geojson object with a random number of random points :param: count_limit - determines the maxiumum number of points generated

linestring

Returns a linestring geojson object with a random number of nodes :param: node_limit - determines the maxiumum number of nodes generated

multilinestring

Returns a multilinestring with a random number of segments with a random number of nodes :param: node_limit - determines maximum number of nodes for a given linestring :param: count_limit - determines the maximum number of line segments generated

polygon

Returns a randomly arranged polygon with a specific number of nodes :param: node_limit - determines how many nodes will be in the return polygon

multypolygon

Returns a geojson multipolygon with a specific number of randomly arranged polygons :param: count_limit - determines how many polygons will be created

geometry_collection

Returns a specific number of random geojson geometries as a collection :param: count_limit - determines how many geometries will be generated

feature

Returns a random geojson feature object

feature_collection

Returns a specific number of random features in a feature collection object :param: count_limit - determines how many features will be generated

to_file

Writes geojson object to file :param: path - full path and filename for data to be written to :param: data - valid geojson object to dump in path

Contribute

Open an issue, fork the repo, submit a PR. This is a tiny side project I built to be used while developing an app that ingested geojson, so there aren't a ton of guidelines.

If you make changes to existing methods, be sure to run pytest to make sure they all are still passing. If you write a new method or class, please include some basic pytest cases.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

geofactory-0.0.1.tar.gz (3.0 kB view hashes)

Uploaded source

Built Distribution

geofactory-0.0.1-py3-none-any.whl (4.0 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page