Marshmallow schema validation for GeoJson
Project description
marshmallow_geojson 🌍
GeoJSON Objects |
Status |
---|---|
✅ |
|
❌ |
|
❌ |
|
❌ |
|
❌ |
|
❌ |
|
❌ |
|
❌ |
|
❌ |
Installation
marshmallow_geojson is compatible with Python 3.7 and 3.8. The recommended way to install is via poetry:
poetry add marshmallow_geojson
Using pip to install is also possible.
pip install marshmallow_geojson
GEOJSON
GeoJSON is a format for encoding a variety of geographic data structures.
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [125.6, 10.1]
},
"properties": {
"name": "Dinagat Islands"
}
}
GeoJSON supports the following geometry types: Point, LineString, Polygon, MultiPoint, MultiLineString, and MultiPolygon. Geometric objects with additional properties are Feature objects. Sets of features are contained by FeatureCollection objects.
Point
Simple example data:
{
"type": "Point",
"coordinates": [
-105.01621,
39.57422
]
}
MultiPoint
Simple example data:
{
"type": "MultiPoint",
"coordinates": [
[
-105.01621,
39.57422
],
[
-80.666513,
35.053994
]
]
}
LineString
Simple example data:
{
"type": "LineString",
"coordinates": [
[
-99.113159,
38.869651
],
[
-99.0802,
38.85682
],
[
-98.822021,
38.85682
],
[
-98.448486,
38.848264
]
]
}
MultiLineString
Simple example data:
{
"type": "MultiLineString",
"coordinates": [
[
[
-105.019898,
39.574997
],
[
-105.019598,
39.574898
],
[
-105.019061,
39.574782
]
],
[
[
-105.017173,
39.574402
],
[
-105.01698,
39.574385
],
[
-105.016636,
39.574385
],
[
-105.016508,
39.574402
],
[
-105.01595,
39.57427
]
],
[
[
-105.014276,
39.573972
],
[
-105.014126,
39.574038
],
[
-105.013825,
39.57417
],
[
-105.01331,
39.574452
]
]
]
}
Polygon
Simple example data:
{
"type": "Polygon",
"coordinates": [
[
[
100,
0
],
[
101,
0
],
[
101,
1
],
[
100,
1
],
[
100,
0
]
]
]
}
MultiPolygon
Simple example data:
{
"type": "MultiPolygon",
"coordinates": [
[
[
[
107,
7
],
[
108,
7
],
[
108,
8
],
[
107,
8
],
[
107,
7
]
]
],
[
[
[
100,
0
],
[
101,
0
],
[
101,
1
],
[
100,
1
],
[
100,
0
]
]
]
]
}
GeometryCollection
Simple example data:
{
"type": "GeometryCollection",
"geometries": [
{
"type": "Point",
"coordinates": [
-80.660805,
35.049392
]
},
{
"type": "Polygon",
"coordinates": [
[
[
-80.664582,
35.044965
],
[
-80.663874,
35.04428
],
[
-80.662586,
35.04558
],
[
-80.663444,
35.046036
],
[
-80.664582,
35.044965
]
]
]
},
{
"type": "LineString",
"coordinates": [
[
-80.662372,
35.059509
],
[
-80.662693,
35.059263
],
[
-80.662844,
35.05893
]
]
}
]
}
Feature
Simple example data:
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-80.724878,
35.265454
],
[
-80.722646,
35.260338
],
[
-80.720329,
35.260618
],
[
-80.71681,
35.255361
],
[
-80.704793,
35.268397
],
[
-80.715179,
35.267696
],
[
-80.721359,
35.267276
],
[
-80.724878,
35.265454
]
]
]
},
"properties": {
"name": "Plaza Road Park"
}
}
FeatureCollection
Simple example data:
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-80.870885,
35.215151
]
},
"properties": {
"name": "ABBOTT NEIGHBORHOOD PARK",
"address": "1300 SPRUCE ST"
}
},
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-80.724878,
35.265454
],
[
-80.722646,
35.260338
],
[
-80.720329,
35.260618
],
[
-80.704793,
35.268397
],
[
-80.724878,
35.265454
]
]
]
},
"properties": {
"name": "Plaza Road Park"
}
}
]
}
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
Hashes for marshmallow_geojson-0.1.12.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47783d43fc981bccfbb1bc3d1962f34c15d4c6056a7f15890d7e730fb1d741df |
|
MD5 | 4e19d9f3228d920fc3aac10649113e32 |
|
BLAKE2b-256 | c94cc32a7d1a6a8fe34458834c57789c337c1d386e4a4fbafa73118156bb6425 |
Hashes for marshmallow_geojson-0.1.12-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | acbaa7c6f86dd12d19b216abd87655de5d961de6a00aff28c572c489a280a786 |
|
MD5 | cc5e4819d58ffa86278a71a888a3e324 |
|
BLAKE2b-256 | cb5823a70398710b0c3f53c7a593194ca4cab1d59915f49a2a7a673a24ad2b5a |