summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-04-12 02:07:17 +0000
committerCoprDistGit <infra@openeuler.org>2023-04-12 02:07:17 +0000
commitc5a8a10561d0479dc1d3b90d4d0fc108f2c2eec7 (patch)
tree9a535d5f4e8a3858e969506315ca2c266cc30c59
parent3334ee79aed292085a26ac4f70cd9b3baf049873 (diff)
automatic import of python-geobuf
-rw-r--r--.gitignore1
-rw-r--r--python-geobuf.spec301
-rw-r--r--sources1
3 files changed, 303 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..a584236 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/geobuf-1.1.1.tar.gz
diff --git a/python-geobuf.spec b/python-geobuf.spec
new file mode 100644
index 0000000..bd43ed5
--- /dev/null
+++ b/python-geobuf.spec
@@ -0,0 +1,301 @@
+%global _empty_manifest_terminate_build 0
+Name: python-geobuf
+Version: 1.1.1
+Release: 1
+Summary: Geobuf is a compact binary geospatial format for lossless compression of GeoJSON and TopoJSON data.
+License: MIT
+URL: https://github.com/mapbox/pygeobuf
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/af/f0/7d9f7d7b2b45dbf9ef6addf00bdd5261045be6e5a37a005e9929c08de86f/geobuf-1.1.1.tar.gz
+BuildArch: noarch
+
+Requires: python3-click
+Requires: python3-protobuf
+Requires: python3-six
+Requires: python3-pytest
+
+%description
+Geobuf is a compact binary geospatial format for *lossless* compression
+of GeoJSON and TopoJSON data.
+|Build Status| |Coverage Status|
+**Note well**: this project is no longer actively developed. Issues and
+pull requests will be attended to when possible, but delays should be
+expected.
+Advantages over using GeoJSON and TopoJSON directly (in this `revised
+version <https://github.com/mapbox/geobuf/issues/27>`__):
+- **Very compact**: typically makes GeoJSON 6-8 times smaller and
+ TopoJSON 2-3 times smaller.
+- Smaller even when comparing gzipped sizes: 2-2.5x compression for
+ GeoJSON and 20-30% for TopoJSON.
+- Easy **incremental parsing** — you can get features out as you read
+ them, without the need to build in-memory representation of the whole
+ data.
+- **Partial reads** — you can read only the parts you actually need,
+ skipping the rest.
+- Trivial **concatenation**: you can concatenate many Geobuf files
+ together and they will form a valid combined Geobuf file.
+- Potentially **faster encoding/decoding** compared to native JSON
+ implementations (i.e. in Web browsers).
+- Can still accommodate any GeoJSON and TopoJSON data, including
+ extensions with arbitrary properties.
+Think of this as an attempt to design a simple, modern Shapefile
+successor that works seamlessly with GeoJSON and TopoJSON.
+Unlike `Mapbox Vector
+Tiles <https://github.com/mapbox/vector-tile-spec/>`__, it aims for
+*lossless* compression of datasets — without tiling, projecting
+coordinates, flattening geometries or stripping properties.
+pygeobuf
+^^^^^^^^
+This repository is the first encoding/decoding implementation of this
+new major version of `Geobuf <https://github.com/mapbox/geobuf>`__ (in
+Python). It serves as a prototyping playground, with faster
+implementations in JS and C++ coming in future.
+Sample compression sizes
+^^^^^^^^^^^^^^^^^^^^^^^^
+ | normal | gzipped
++---------------------+-------------+------------+
+| us-zips.json | 101.85 MB | 26.67 MB |
++---------------------+-------------+------------+
+| us-zips.pbf | 12.24 MB | 10.48 MB |
++---------------------+-------------+------------+
+| us-zips.topo.json | 15.02 MB | 3.19 MB |
++---------------------+-------------+------------+
+| us-zips.topo.pbf | 4.85 MB | 2.72 MB |
++---------------------+-------------+------------+
+| idaho.json | 10.92 MB | 2.57 MB |
++---------------------+-------------+------------+
+| idaho.pbf | 1.37 MB | 1.17 MB |
++---------------------+-------------+------------+
+| idaho.topo.json | 1.9 MB | 612 KB |
++---------------------+-------------+------------+
+| idaho.topo.pbf | 567 KB | 479 KB |
++---------------------+-------------+------------+
+Usage
+~~~~~
+Command line:
+ geobuf encode < example.json > example.pbf
+ geobuf decode < example.pbf > example.pbf.json
+As a module:
+ import geobuf
+ pbf = geobuf.encode(my_json) # GeoJSON or TopoJSON -> Geobuf string
+ my_json = geobuf.decode(pbf) # Geobuf string -> GeoJSON or TopoJSON
+The ``encode`` function accepts a dict-like object, for example the
+result of ``json.loads(json_str)``.
+Both ``encode.py`` and ``geobuf.encode`` accept two optional arguments:
+- **precision** — max number of digits after the decimal point in
+ coordinates, ``6`` by default.
+- **dimensions** — number of dimensions in coordinates, ``2`` by
+ default.
+Tests
+~~~~~
+ py.test -v
+The tests run through all ``.json`` files in the ``fixtures`` directory,
+comparing each original GeoJSON with an encoded/decoded one.
+
+%package -n python3-geobuf
+Summary: Geobuf is a compact binary geospatial format for lossless compression of GeoJSON and TopoJSON data.
+Provides: python-geobuf
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-geobuf
+Geobuf is a compact binary geospatial format for *lossless* compression
+of GeoJSON and TopoJSON data.
+|Build Status| |Coverage Status|
+**Note well**: this project is no longer actively developed. Issues and
+pull requests will be attended to when possible, but delays should be
+expected.
+Advantages over using GeoJSON and TopoJSON directly (in this `revised
+version <https://github.com/mapbox/geobuf/issues/27>`__):
+- **Very compact**: typically makes GeoJSON 6-8 times smaller and
+ TopoJSON 2-3 times smaller.
+- Smaller even when comparing gzipped sizes: 2-2.5x compression for
+ GeoJSON and 20-30% for TopoJSON.
+- Easy **incremental parsing** — you can get features out as you read
+ them, without the need to build in-memory representation of the whole
+ data.
+- **Partial reads** — you can read only the parts you actually need,
+ skipping the rest.
+- Trivial **concatenation**: you can concatenate many Geobuf files
+ together and they will form a valid combined Geobuf file.
+- Potentially **faster encoding/decoding** compared to native JSON
+ implementations (i.e. in Web browsers).
+- Can still accommodate any GeoJSON and TopoJSON data, including
+ extensions with arbitrary properties.
+Think of this as an attempt to design a simple, modern Shapefile
+successor that works seamlessly with GeoJSON and TopoJSON.
+Unlike `Mapbox Vector
+Tiles <https://github.com/mapbox/vector-tile-spec/>`__, it aims for
+*lossless* compression of datasets — without tiling, projecting
+coordinates, flattening geometries or stripping properties.
+pygeobuf
+^^^^^^^^
+This repository is the first encoding/decoding implementation of this
+new major version of `Geobuf <https://github.com/mapbox/geobuf>`__ (in
+Python). It serves as a prototyping playground, with faster
+implementations in JS and C++ coming in future.
+Sample compression sizes
+^^^^^^^^^^^^^^^^^^^^^^^^
+ | normal | gzipped
++---------------------+-------------+------------+
+| us-zips.json | 101.85 MB | 26.67 MB |
++---------------------+-------------+------------+
+| us-zips.pbf | 12.24 MB | 10.48 MB |
++---------------------+-------------+------------+
+| us-zips.topo.json | 15.02 MB | 3.19 MB |
++---------------------+-------------+------------+
+| us-zips.topo.pbf | 4.85 MB | 2.72 MB |
++---------------------+-------------+------------+
+| idaho.json | 10.92 MB | 2.57 MB |
++---------------------+-------------+------------+
+| idaho.pbf | 1.37 MB | 1.17 MB |
++---------------------+-------------+------------+
+| idaho.topo.json | 1.9 MB | 612 KB |
++---------------------+-------------+------------+
+| idaho.topo.pbf | 567 KB | 479 KB |
++---------------------+-------------+------------+
+Usage
+~~~~~
+Command line:
+ geobuf encode < example.json > example.pbf
+ geobuf decode < example.pbf > example.pbf.json
+As a module:
+ import geobuf
+ pbf = geobuf.encode(my_json) # GeoJSON or TopoJSON -> Geobuf string
+ my_json = geobuf.decode(pbf) # Geobuf string -> GeoJSON or TopoJSON
+The ``encode`` function accepts a dict-like object, for example the
+result of ``json.loads(json_str)``.
+Both ``encode.py`` and ``geobuf.encode`` accept two optional arguments:
+- **precision** — max number of digits after the decimal point in
+ coordinates, ``6`` by default.
+- **dimensions** — number of dimensions in coordinates, ``2`` by
+ default.
+Tests
+~~~~~
+ py.test -v
+The tests run through all ``.json`` files in the ``fixtures`` directory,
+comparing each original GeoJSON with an encoded/decoded one.
+
+%package help
+Summary: Development documents and examples for geobuf
+Provides: python3-geobuf-doc
+%description help
+Geobuf is a compact binary geospatial format for *lossless* compression
+of GeoJSON and TopoJSON data.
+|Build Status| |Coverage Status|
+**Note well**: this project is no longer actively developed. Issues and
+pull requests will be attended to when possible, but delays should be
+expected.
+Advantages over using GeoJSON and TopoJSON directly (in this `revised
+version <https://github.com/mapbox/geobuf/issues/27>`__):
+- **Very compact**: typically makes GeoJSON 6-8 times smaller and
+ TopoJSON 2-3 times smaller.
+- Smaller even when comparing gzipped sizes: 2-2.5x compression for
+ GeoJSON and 20-30% for TopoJSON.
+- Easy **incremental parsing** — you can get features out as you read
+ them, without the need to build in-memory representation of the whole
+ data.
+- **Partial reads** — you can read only the parts you actually need,
+ skipping the rest.
+- Trivial **concatenation**: you can concatenate many Geobuf files
+ together and they will form a valid combined Geobuf file.
+- Potentially **faster encoding/decoding** compared to native JSON
+ implementations (i.e. in Web browsers).
+- Can still accommodate any GeoJSON and TopoJSON data, including
+ extensions with arbitrary properties.
+Think of this as an attempt to design a simple, modern Shapefile
+successor that works seamlessly with GeoJSON and TopoJSON.
+Unlike `Mapbox Vector
+Tiles <https://github.com/mapbox/vector-tile-spec/>`__, it aims for
+*lossless* compression of datasets — without tiling, projecting
+coordinates, flattening geometries or stripping properties.
+pygeobuf
+^^^^^^^^
+This repository is the first encoding/decoding implementation of this
+new major version of `Geobuf <https://github.com/mapbox/geobuf>`__ (in
+Python). It serves as a prototyping playground, with faster
+implementations in JS and C++ coming in future.
+Sample compression sizes
+^^^^^^^^^^^^^^^^^^^^^^^^
+ | normal | gzipped
++---------------------+-------------+------------+
+| us-zips.json | 101.85 MB | 26.67 MB |
++---------------------+-------------+------------+
+| us-zips.pbf | 12.24 MB | 10.48 MB |
++---------------------+-------------+------------+
+| us-zips.topo.json | 15.02 MB | 3.19 MB |
++---------------------+-------------+------------+
+| us-zips.topo.pbf | 4.85 MB | 2.72 MB |
++---------------------+-------------+------------+
+| idaho.json | 10.92 MB | 2.57 MB |
++---------------------+-------------+------------+
+| idaho.pbf | 1.37 MB | 1.17 MB |
++---------------------+-------------+------------+
+| idaho.topo.json | 1.9 MB | 612 KB |
++---------------------+-------------+------------+
+| idaho.topo.pbf | 567 KB | 479 KB |
++---------------------+-------------+------------+
+Usage
+~~~~~
+Command line:
+ geobuf encode < example.json > example.pbf
+ geobuf decode < example.pbf > example.pbf.json
+As a module:
+ import geobuf
+ pbf = geobuf.encode(my_json) # GeoJSON or TopoJSON -> Geobuf string
+ my_json = geobuf.decode(pbf) # Geobuf string -> GeoJSON or TopoJSON
+The ``encode`` function accepts a dict-like object, for example the
+result of ``json.loads(json_str)``.
+Both ``encode.py`` and ``geobuf.encode`` accept two optional arguments:
+- **precision** — max number of digits after the decimal point in
+ coordinates, ``6`` by default.
+- **dimensions** — number of dimensions in coordinates, ``2`` by
+ default.
+Tests
+~~~~~
+ py.test -v
+The tests run through all ``.json`` files in the ``fixtures`` directory,
+comparing each original GeoJSON with an encoded/decoded one.
+
+%prep
+%autosetup -n geobuf-1.1.1
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-geobuf -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Wed Apr 12 2023 Python_Bot <Python_Bot@openeuler.org> - 1.1.1-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..cbd5100
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+b7110d8fa197d936daa59842a4bc2170 geobuf-1.1.1.tar.gz