From 102bc5ff50edf00538f272cf16b8d9caece6c9aa Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Mon, 15 May 2023 04:32:56 +0000 Subject: automatic import of python-osm2geojson --- .gitignore | 1 + python-osm2geojson.spec | 441 ++++++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 443 insertions(+) create mode 100644 python-osm2geojson.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore index e69de29..c197c3b 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/osm2geojson-0.2.4.tar.gz diff --git a/python-osm2geojson.spec b/python-osm2geojson.spec new file mode 100644 index 0000000..84fd78a --- /dev/null +++ b/python-osm2geojson.spec @@ -0,0 +1,441 @@ +%global _empty_manifest_terminate_build 0 +Name: python-osm2geojson +Version: 0.2.4 +Release: 1 +Summary: Parse OSM and Overpass JSON +License: MIT +URL: https://github.com/aspectumapp/osm2geojson +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/9a/ce/bb00a9c79b72ba63bd9ba2f10f49e0412e39baa161583707e186c9b587c8/osm2geojson-0.2.4.tar.gz +BuildArch: noarch + + +%description +# osm2geojson + +![Test package](https://github.com/aspectumapp/osm2geojson/workflows/Test%20package/badge.svg) + +Parse OSM and Overpass JSON with python. +**This library is under development!** + +### Usage + +Install this package with pip: + +```sh +$ pip install osm2geojson +``` + +If you want to convert OSM xml or Overpass json/xml to Geojson you can import this lib and use one of 4 methods: + +- `json2shapes(dict json_from_overpass)` - to convert Overpass json to \*Shape-objects +- `xml2shapes(str xml_from_osm)` - to convert OSM xml or Overpass xml to \*Shape-objects +- `json2geojson(dict json_from_overpass)` - to convert Overpass json to Geojson +- `xml2geojson(str xml_from_osm)` - to convert OSM xml or Overpass xml to Geojson + +Additional parameters for all functions: + +- `filter_used_refs` - (default: `True`) defines geometry filtration strategy (will return all geometry if set as `False`) +- `log_level` - (default: `'ERROR'`) controls logging level (will print all logs if set as `'INFO'`). More details [here](https://docs.python.org/3/library/logging.html#logging-levels) +- `area_keys` - (default: `None`) defines which keys and values of an area should be saved from the list of OSM tags, see `areaKeys.json` for the defaults +- `polygon_features` - (default: `None`) defines a whitelist/blacklist of features to be included in resulting polygons, see `polygon-features.json` for the defaults +- `raise_on_failure` - (default: `False`) controls whether to throw an exception when geometry generation fails + +Other handy methods: + +- `overpass_call(str query)` - runs query to overpass-api.de server (retries 5 times in case of error). +- `shape_to_feature(Shape shape, dict properties)` - Converts Shape-object to GeoJSON with passed properties. + +**\*Shape-object - for convenience created simple dict to save Shapely object (geometry) and OSM-properties. Structure of this object:** + +```py +shape_obj = { + 'shape': Point | LineString | Polygon ..., + 'properties': { + 'type': 'relation' | 'node' ..., + 'tags': { ... }, + ... + } +} +``` + +After installing via `pip`, the module may also be used as a `argparse`-based command-line script. +Either use the script name directly or call Python with the `-m` option and the package name: + +```sh +osm2geojson --help +``` + +```sh +python3 -m osm2geojson --help +``` + +### Examples + +Convert OSM-xml to Geojson: + +```py +import codecs +import osm2geojson + +with codecs.open('file.osm', 'r', encoding='utf-8') as data: + xml = data.read() + +geojson = osm2geojson.xml2geojson(xml, filter_used_refs=False, log_level='INFO') +# >> { "type": "FeatureCollection", "features": [ ... ] } +``` + +Convert OSM-json to Shape-objects: + +```py +import codecs +import osm2geojson + +with codecs.open('file.json', 'r', encoding='utf-8') as data: + json = data.read() + +shapes_with_props = osm2geojson.json2shapes(json) +# >> [ { "shape": , "properties": {...} }, ... ] +``` + +### Development + +Clone project with submodules + +```sh +$ git clone --recurse-submodules https://github.com/aspectumapp/osm2geojson.git +``` + +Setup package + +```sh +$ python setup.py develop +``` + +Run tests + +```sh +$ python -m unittest tests +``` + +Run single test + +```sh +$ python tests/main.py TestOsm2GeoJsonMethods.test_barrier_wall +``` + +Update osm-polygon-features to last version (if you want last version) + +```sh +$ ./update-osm-polygon-features.sh +``` + +### ToDo + + * Add tests and examples for cli tool + * Add actions related to cli tool (more info https://github.com/aspectumapp/osm2geojson/pull/32#issuecomment-1073386381) + + +%package -n python3-osm2geojson +Summary: Parse OSM and Overpass JSON +Provides: python-osm2geojson +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-osm2geojson +# osm2geojson + +![Test package](https://github.com/aspectumapp/osm2geojson/workflows/Test%20package/badge.svg) + +Parse OSM and Overpass JSON with python. +**This library is under development!** + +### Usage + +Install this package with pip: + +```sh +$ pip install osm2geojson +``` + +If you want to convert OSM xml or Overpass json/xml to Geojson you can import this lib and use one of 4 methods: + +- `json2shapes(dict json_from_overpass)` - to convert Overpass json to \*Shape-objects +- `xml2shapes(str xml_from_osm)` - to convert OSM xml or Overpass xml to \*Shape-objects +- `json2geojson(dict json_from_overpass)` - to convert Overpass json to Geojson +- `xml2geojson(str xml_from_osm)` - to convert OSM xml or Overpass xml to Geojson + +Additional parameters for all functions: + +- `filter_used_refs` - (default: `True`) defines geometry filtration strategy (will return all geometry if set as `False`) +- `log_level` - (default: `'ERROR'`) controls logging level (will print all logs if set as `'INFO'`). More details [here](https://docs.python.org/3/library/logging.html#logging-levels) +- `area_keys` - (default: `None`) defines which keys and values of an area should be saved from the list of OSM tags, see `areaKeys.json` for the defaults +- `polygon_features` - (default: `None`) defines a whitelist/blacklist of features to be included in resulting polygons, see `polygon-features.json` for the defaults +- `raise_on_failure` - (default: `False`) controls whether to throw an exception when geometry generation fails + +Other handy methods: + +- `overpass_call(str query)` - runs query to overpass-api.de server (retries 5 times in case of error). +- `shape_to_feature(Shape shape, dict properties)` - Converts Shape-object to GeoJSON with passed properties. + +**\*Shape-object - for convenience created simple dict to save Shapely object (geometry) and OSM-properties. Structure of this object:** + +```py +shape_obj = { + 'shape': Point | LineString | Polygon ..., + 'properties': { + 'type': 'relation' | 'node' ..., + 'tags': { ... }, + ... + } +} +``` + +After installing via `pip`, the module may also be used as a `argparse`-based command-line script. +Either use the script name directly or call Python with the `-m` option and the package name: + +```sh +osm2geojson --help +``` + +```sh +python3 -m osm2geojson --help +``` + +### Examples + +Convert OSM-xml to Geojson: + +```py +import codecs +import osm2geojson + +with codecs.open('file.osm', 'r', encoding='utf-8') as data: + xml = data.read() + +geojson = osm2geojson.xml2geojson(xml, filter_used_refs=False, log_level='INFO') +# >> { "type": "FeatureCollection", "features": [ ... ] } +``` + +Convert OSM-json to Shape-objects: + +```py +import codecs +import osm2geojson + +with codecs.open('file.json', 'r', encoding='utf-8') as data: + json = data.read() + +shapes_with_props = osm2geojson.json2shapes(json) +# >> [ { "shape": , "properties": {...} }, ... ] +``` + +### Development + +Clone project with submodules + +```sh +$ git clone --recurse-submodules https://github.com/aspectumapp/osm2geojson.git +``` + +Setup package + +```sh +$ python setup.py develop +``` + +Run tests + +```sh +$ python -m unittest tests +``` + +Run single test + +```sh +$ python tests/main.py TestOsm2GeoJsonMethods.test_barrier_wall +``` + +Update osm-polygon-features to last version (if you want last version) + +```sh +$ ./update-osm-polygon-features.sh +``` + +### ToDo + + * Add tests and examples for cli tool + * Add actions related to cli tool (more info https://github.com/aspectumapp/osm2geojson/pull/32#issuecomment-1073386381) + + +%package help +Summary: Development documents and examples for osm2geojson +Provides: python3-osm2geojson-doc +%description help +# osm2geojson + +![Test package](https://github.com/aspectumapp/osm2geojson/workflows/Test%20package/badge.svg) + +Parse OSM and Overpass JSON with python. +**This library is under development!** + +### Usage + +Install this package with pip: + +```sh +$ pip install osm2geojson +``` + +If you want to convert OSM xml or Overpass json/xml to Geojson you can import this lib and use one of 4 methods: + +- `json2shapes(dict json_from_overpass)` - to convert Overpass json to \*Shape-objects +- `xml2shapes(str xml_from_osm)` - to convert OSM xml or Overpass xml to \*Shape-objects +- `json2geojson(dict json_from_overpass)` - to convert Overpass json to Geojson +- `xml2geojson(str xml_from_osm)` - to convert OSM xml or Overpass xml to Geojson + +Additional parameters for all functions: + +- `filter_used_refs` - (default: `True`) defines geometry filtration strategy (will return all geometry if set as `False`) +- `log_level` - (default: `'ERROR'`) controls logging level (will print all logs if set as `'INFO'`). More details [here](https://docs.python.org/3/library/logging.html#logging-levels) +- `area_keys` - (default: `None`) defines which keys and values of an area should be saved from the list of OSM tags, see `areaKeys.json` for the defaults +- `polygon_features` - (default: `None`) defines a whitelist/blacklist of features to be included in resulting polygons, see `polygon-features.json` for the defaults +- `raise_on_failure` - (default: `False`) controls whether to throw an exception when geometry generation fails + +Other handy methods: + +- `overpass_call(str query)` - runs query to overpass-api.de server (retries 5 times in case of error). +- `shape_to_feature(Shape shape, dict properties)` - Converts Shape-object to GeoJSON with passed properties. + +**\*Shape-object - for convenience created simple dict to save Shapely object (geometry) and OSM-properties. Structure of this object:** + +```py +shape_obj = { + 'shape': Point | LineString | Polygon ..., + 'properties': { + 'type': 'relation' | 'node' ..., + 'tags': { ... }, + ... + } +} +``` + +After installing via `pip`, the module may also be used as a `argparse`-based command-line script. +Either use the script name directly or call Python with the `-m` option and the package name: + +```sh +osm2geojson --help +``` + +```sh +python3 -m osm2geojson --help +``` + +### Examples + +Convert OSM-xml to Geojson: + +```py +import codecs +import osm2geojson + +with codecs.open('file.osm', 'r', encoding='utf-8') as data: + xml = data.read() + +geojson = osm2geojson.xml2geojson(xml, filter_used_refs=False, log_level='INFO') +# >> { "type": "FeatureCollection", "features": [ ... ] } +``` + +Convert OSM-json to Shape-objects: + +```py +import codecs +import osm2geojson + +with codecs.open('file.json', 'r', encoding='utf-8') as data: + json = data.read() + +shapes_with_props = osm2geojson.json2shapes(json) +# >> [ { "shape": , "properties": {...} }, ... ] +``` + +### Development + +Clone project with submodules + +```sh +$ git clone --recurse-submodules https://github.com/aspectumapp/osm2geojson.git +``` + +Setup package + +```sh +$ python setup.py develop +``` + +Run tests + +```sh +$ python -m unittest tests +``` + +Run single test + +```sh +$ python tests/main.py TestOsm2GeoJsonMethods.test_barrier_wall +``` + +Update osm-polygon-features to last version (if you want last version) + +```sh +$ ./update-osm-polygon-features.sh +``` + +### ToDo + + * Add tests and examples for cli tool + * Add actions related to cli tool (more info https://github.com/aspectumapp/osm2geojson/pull/32#issuecomment-1073386381) + + +%prep +%autosetup -n osm2geojson-0.2.4 + +%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-osm2geojson -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon May 15 2023 Python_Bot - 0.2.4-1 +- Package Spec generated diff --git a/sources b/sources new file mode 100644 index 0000000..c2f1f75 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +67ecc3b54f5720543a6ec5f896dc6b10 osm2geojson-0.2.4.tar.gz -- cgit v1.2.3