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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file geofactory-0.0.1.tar.gz
.
File metadata
- Download URL: geofactory-0.0.1.tar.gz
- Upload date:
- Size: 3.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.1.post20191125 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
f546b0f6d912a6a1b3a4ea57cb2c160ed3c8c79e5a8a1d662b34333c419e8ed4
|
|
MD5 |
8789ea0dc4f7d0c008db8665eb41e7a5
|
|
BLAKE2b-256 |
829197d88800e9a2d464d59ae47d3305d28cbedb7cf32610dde034f129188bf0
|
File details
Details for the file geofactory-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: geofactory-0.0.1-py3-none-any.whl
- Upload date:
- Size: 4.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.1.post20191125 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
18598988eb8de31ee17597bab670bad0ad3b89cba33f5dfa22f2c1194fe52d1e
|
|
MD5 |
2e887caf35d7cf5baf9f9ba6188da400
|
|
BLAKE2b-256 |
7ef66637d0e0a4b9c17b8cf34e8892c63e8cfb60b39bcfffd99acc8cce783a0e
|