summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-17 04:49:30 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-17 04:49:30 +0000
commit6ce4921c9a8c94821f0e857200b5a40b4dd1c9fe (patch)
treeef719d5355057205659242f443c0149af0447292
parente7e77428213d486e79138a129c467ae4857bb4be (diff)
automatic import of python-flexpolyline
-rw-r--r--.gitignore1
-rw-r--r--python-flexpolyline.spec495
-rw-r--r--sources1
3 files changed, 497 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..d82949c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/flexpolyline-0.1.0.tar.gz
diff --git a/python-flexpolyline.spec b/python-flexpolyline.spec
new file mode 100644
index 0000000..fe5ff3f
--- /dev/null
+++ b/python-flexpolyline.spec
@@ -0,0 +1,495 @@
+%global _empty_manifest_terminate_build 0
+Name: python-flexpolyline
+Version: 0.1.0
+Release: 1
+Summary: Flexible Polyline encoding: a lossy compressed representation of a list of coordinate pairs or triples
+License: MIT
+URL: https://here.com
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/4d/04/ad15ba222feeeea012919eccbec65d86a91e94024541ed8ebb549b4784e0/flexpolyline-0.1.0.tar.gz
+BuildArch: noarch
+
+
+%description
+# FlexPolyline
+
+This is a python implementation of the Flexible Polyline format.
+
+The polyline encoding is a lossy compressed representation of a list of coordinate pairs or
+coordinate triples. It achieves that by:
+
+1. Reducing the decimal digits of each value.
+2. Encoding only the offset from the previous point.
+3. Using variable length for each coordinate delta.
+4. Using 64 URL-safe characters to display the result.
+
+## Install
+
+```python
+pip install flexpolyline
+```
+
+## Usage
+
+### Encoding
+
+#### `encode(iterable, precision=5, third_dim=ABSENT, third_dim_precision=0)`
+
+Encodes a list (or iterator) of coordinates to the corresponding string representation. See the optional parameters below for further customization. Coordinate order is `(lat, lng[, third_dim])`.
+```
+
+**Optional parameters**
+
+* `precision` - Defines how many decimal digits to round latitude and longitude to (ranges from `0` to `15`).
+* `third_dim` - Defines the type of the third dimension when present. Possible values are defined in the module: `ALTITUDE`, `LEVEL`, `ELEVATION`, `CUSTOM1` and `CUSTOM2`. The last two values can be used in case your third dimension has a user defined meaning.
+* `third_dim_precision` - Defines how many decimal digits to round the third dimension to (ranges from `0` to `15`). This parameter is ignored when `third_dim` is `ABSENT` (default).
+
+
+#### `dict_encode(iterable, precision=5, third_dim=ABSENT, third_dim_precision=0)`
+
+Similar to the `encode` function, but accepts a list (or iterator) of dictionaries instead. Required keys are `"lat"` and `"lng"`. If `third_dim` is set, the corresponding key is expected `"alt"`, `"elv"`, `"lvl"`, `"cst1"` or `"cst2"`.
+
+
+#### Examples
+
+Following is a simple example encoding a 2D poyline with 5 decimal digits of precision:
+
+```python
+import flexpolyline as fp
+
+example = [
+ (50.1022829, 8.6982122),
+ (50.1020076, 8.6956695),
+ (50.1006313, 8.6914960),
+ (50.0987800, 8.6875156),
+]
+
+print(fp.encode(example))
+```
+
+**Output**: `BFoz5xJ67i1B1B7PzIhaxL7Y`.
+
+Another example for the 3D case with altitude as the third coordinate:
+
+```python
+example = [
+ (50.1022829, 8.6982122, 10),
+ (50.1020076, 8.6956695, 20),
+ (50.1006313, 8.6914960, 30),
+ (50.0987800, 8.6875156, 40),
+]
+
+print(fp.encode(example, third_dim=flexpolyline.ALTITUDE))
+```
+
+**Output**: `BlBoz5xJ67i1BU1B7PUzIhaUxL7YU`
+
+### Decoding
+
+#### `decode(encoded_string)`
+
+Decodes the passed encoded string and returns a list of tuples `(lat, lng[, third_dim])`.
+
+#### `iter_decode(encoded_string)`
+
+Similar to `decode` but returns an iterator instead.
+
+#### `dict_decode(encoded_string)`
+
+Similar to `decode` but returns a list of dictionaries instead. The keys `"lat"` and `"lng"` are always present, while the third dimension key depends on the type of third dimension encoded. It can be one of the following: `"alt"`, `"elv"`, `"lvl"`, `"cst1"` or `"cst2"`.
+
+#### `iter_dict_decode(encoded_string)`
+
+Similar to `dict_decode` but returns an iterator instead.
+
+#### `get_third_dimension(encoded_string)`
+
+Returns the value corresponding to the third dimension encoded in the string. Possible values defined in the module are: `ABSENT`, `ALTITUDE`, `LEVEL`, `ELEVATION`, `CUSTOM1` and `CUSTOM2`
+
+#### Examples
+
+Example of decoding of a 2D polyline:
+
+```python
+import flexpolyline as fp
+
+print(fp.decode("BFoz5xJ67i1B1B7PzIhaxL7Y"))
+```
+
+**Output**:
+
+```
+[
+ (50.10228, 8.69821),
+ (50.10201, 8.69567),
+ (50.10063, 8.69150),
+ (50.09878, 8.68752)
+]
+```
+
+
+Example of decoding dicts from a 3D polyline:
+
+```python
+import flexpolyline as fp
+
+print(fp.dict_decode("BlBoz5xJ67i1BU1B7PUzIhaUxL7YU"))
+```
+
+**Output**:
+
+```
+[
+ {'lat': 50.10228, 'lng': 8.69821, 'alt': 10},
+ {'lat': 50.10201, 'lng': 8.69567, 'alt': 20},
+ {'lat': 50.10063, 'lng': 8.69150, 'alt': 30},
+ {'lat': 50.09878, 'lng': 8.68752, 'alt': 40}
+]
+```
+
+
+
+
+
+
+
+
+%package -n python3-flexpolyline
+Summary: Flexible Polyline encoding: a lossy compressed representation of a list of coordinate pairs or triples
+Provides: python-flexpolyline
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-flexpolyline
+# FlexPolyline
+
+This is a python implementation of the Flexible Polyline format.
+
+The polyline encoding is a lossy compressed representation of a list of coordinate pairs or
+coordinate triples. It achieves that by:
+
+1. Reducing the decimal digits of each value.
+2. Encoding only the offset from the previous point.
+3. Using variable length for each coordinate delta.
+4. Using 64 URL-safe characters to display the result.
+
+## Install
+
+```python
+pip install flexpolyline
+```
+
+## Usage
+
+### Encoding
+
+#### `encode(iterable, precision=5, third_dim=ABSENT, third_dim_precision=0)`
+
+Encodes a list (or iterator) of coordinates to the corresponding string representation. See the optional parameters below for further customization. Coordinate order is `(lat, lng[, third_dim])`.
+```
+
+**Optional parameters**
+
+* `precision` - Defines how many decimal digits to round latitude and longitude to (ranges from `0` to `15`).
+* `third_dim` - Defines the type of the third dimension when present. Possible values are defined in the module: `ALTITUDE`, `LEVEL`, `ELEVATION`, `CUSTOM1` and `CUSTOM2`. The last two values can be used in case your third dimension has a user defined meaning.
+* `third_dim_precision` - Defines how many decimal digits to round the third dimension to (ranges from `0` to `15`). This parameter is ignored when `third_dim` is `ABSENT` (default).
+
+
+#### `dict_encode(iterable, precision=5, third_dim=ABSENT, third_dim_precision=0)`
+
+Similar to the `encode` function, but accepts a list (or iterator) of dictionaries instead. Required keys are `"lat"` and `"lng"`. If `third_dim` is set, the corresponding key is expected `"alt"`, `"elv"`, `"lvl"`, `"cst1"` or `"cst2"`.
+
+
+#### Examples
+
+Following is a simple example encoding a 2D poyline with 5 decimal digits of precision:
+
+```python
+import flexpolyline as fp
+
+example = [
+ (50.1022829, 8.6982122),
+ (50.1020076, 8.6956695),
+ (50.1006313, 8.6914960),
+ (50.0987800, 8.6875156),
+]
+
+print(fp.encode(example))
+```
+
+**Output**: `BFoz5xJ67i1B1B7PzIhaxL7Y`.
+
+Another example for the 3D case with altitude as the third coordinate:
+
+```python
+example = [
+ (50.1022829, 8.6982122, 10),
+ (50.1020076, 8.6956695, 20),
+ (50.1006313, 8.6914960, 30),
+ (50.0987800, 8.6875156, 40),
+]
+
+print(fp.encode(example, third_dim=flexpolyline.ALTITUDE))
+```
+
+**Output**: `BlBoz5xJ67i1BU1B7PUzIhaUxL7YU`
+
+### Decoding
+
+#### `decode(encoded_string)`
+
+Decodes the passed encoded string and returns a list of tuples `(lat, lng[, third_dim])`.
+
+#### `iter_decode(encoded_string)`
+
+Similar to `decode` but returns an iterator instead.
+
+#### `dict_decode(encoded_string)`
+
+Similar to `decode` but returns a list of dictionaries instead. The keys `"lat"` and `"lng"` are always present, while the third dimension key depends on the type of third dimension encoded. It can be one of the following: `"alt"`, `"elv"`, `"lvl"`, `"cst1"` or `"cst2"`.
+
+#### `iter_dict_decode(encoded_string)`
+
+Similar to `dict_decode` but returns an iterator instead.
+
+#### `get_third_dimension(encoded_string)`
+
+Returns the value corresponding to the third dimension encoded in the string. Possible values defined in the module are: `ABSENT`, `ALTITUDE`, `LEVEL`, `ELEVATION`, `CUSTOM1` and `CUSTOM2`
+
+#### Examples
+
+Example of decoding of a 2D polyline:
+
+```python
+import flexpolyline as fp
+
+print(fp.decode("BFoz5xJ67i1B1B7PzIhaxL7Y"))
+```
+
+**Output**:
+
+```
+[
+ (50.10228, 8.69821),
+ (50.10201, 8.69567),
+ (50.10063, 8.69150),
+ (50.09878, 8.68752)
+]
+```
+
+
+Example of decoding dicts from a 3D polyline:
+
+```python
+import flexpolyline as fp
+
+print(fp.dict_decode("BlBoz5xJ67i1BU1B7PUzIhaUxL7YU"))
+```
+
+**Output**:
+
+```
+[
+ {'lat': 50.10228, 'lng': 8.69821, 'alt': 10},
+ {'lat': 50.10201, 'lng': 8.69567, 'alt': 20},
+ {'lat': 50.10063, 'lng': 8.69150, 'alt': 30},
+ {'lat': 50.09878, 'lng': 8.68752, 'alt': 40}
+]
+```
+
+
+
+
+
+
+
+
+%package help
+Summary: Development documents and examples for flexpolyline
+Provides: python3-flexpolyline-doc
+%description help
+# FlexPolyline
+
+This is a python implementation of the Flexible Polyline format.
+
+The polyline encoding is a lossy compressed representation of a list of coordinate pairs or
+coordinate triples. It achieves that by:
+
+1. Reducing the decimal digits of each value.
+2. Encoding only the offset from the previous point.
+3. Using variable length for each coordinate delta.
+4. Using 64 URL-safe characters to display the result.
+
+## Install
+
+```python
+pip install flexpolyline
+```
+
+## Usage
+
+### Encoding
+
+#### `encode(iterable, precision=5, third_dim=ABSENT, third_dim_precision=0)`
+
+Encodes a list (or iterator) of coordinates to the corresponding string representation. See the optional parameters below for further customization. Coordinate order is `(lat, lng[, third_dim])`.
+```
+
+**Optional parameters**
+
+* `precision` - Defines how many decimal digits to round latitude and longitude to (ranges from `0` to `15`).
+* `third_dim` - Defines the type of the third dimension when present. Possible values are defined in the module: `ALTITUDE`, `LEVEL`, `ELEVATION`, `CUSTOM1` and `CUSTOM2`. The last two values can be used in case your third dimension has a user defined meaning.
+* `third_dim_precision` - Defines how many decimal digits to round the third dimension to (ranges from `0` to `15`). This parameter is ignored when `third_dim` is `ABSENT` (default).
+
+
+#### `dict_encode(iterable, precision=5, third_dim=ABSENT, third_dim_precision=0)`
+
+Similar to the `encode` function, but accepts a list (or iterator) of dictionaries instead. Required keys are `"lat"` and `"lng"`. If `third_dim` is set, the corresponding key is expected `"alt"`, `"elv"`, `"lvl"`, `"cst1"` or `"cst2"`.
+
+
+#### Examples
+
+Following is a simple example encoding a 2D poyline with 5 decimal digits of precision:
+
+```python
+import flexpolyline as fp
+
+example = [
+ (50.1022829, 8.6982122),
+ (50.1020076, 8.6956695),
+ (50.1006313, 8.6914960),
+ (50.0987800, 8.6875156),
+]
+
+print(fp.encode(example))
+```
+
+**Output**: `BFoz5xJ67i1B1B7PzIhaxL7Y`.
+
+Another example for the 3D case with altitude as the third coordinate:
+
+```python
+example = [
+ (50.1022829, 8.6982122, 10),
+ (50.1020076, 8.6956695, 20),
+ (50.1006313, 8.6914960, 30),
+ (50.0987800, 8.6875156, 40),
+]
+
+print(fp.encode(example, third_dim=flexpolyline.ALTITUDE))
+```
+
+**Output**: `BlBoz5xJ67i1BU1B7PUzIhaUxL7YU`
+
+### Decoding
+
+#### `decode(encoded_string)`
+
+Decodes the passed encoded string and returns a list of tuples `(lat, lng[, third_dim])`.
+
+#### `iter_decode(encoded_string)`
+
+Similar to `decode` but returns an iterator instead.
+
+#### `dict_decode(encoded_string)`
+
+Similar to `decode` but returns a list of dictionaries instead. The keys `"lat"` and `"lng"` are always present, while the third dimension key depends on the type of third dimension encoded. It can be one of the following: `"alt"`, `"elv"`, `"lvl"`, `"cst1"` or `"cst2"`.
+
+#### `iter_dict_decode(encoded_string)`
+
+Similar to `dict_decode` but returns an iterator instead.
+
+#### `get_third_dimension(encoded_string)`
+
+Returns the value corresponding to the third dimension encoded in the string. Possible values defined in the module are: `ABSENT`, `ALTITUDE`, `LEVEL`, `ELEVATION`, `CUSTOM1` and `CUSTOM2`
+
+#### Examples
+
+Example of decoding of a 2D polyline:
+
+```python
+import flexpolyline as fp
+
+print(fp.decode("BFoz5xJ67i1B1B7PzIhaxL7Y"))
+```
+
+**Output**:
+
+```
+[
+ (50.10228, 8.69821),
+ (50.10201, 8.69567),
+ (50.10063, 8.69150),
+ (50.09878, 8.68752)
+]
+```
+
+
+Example of decoding dicts from a 3D polyline:
+
+```python
+import flexpolyline as fp
+
+print(fp.dict_decode("BlBoz5xJ67i1BU1B7PUzIhaUxL7YU"))
+```
+
+**Output**:
+
+```
+[
+ {'lat': 50.10228, 'lng': 8.69821, 'alt': 10},
+ {'lat': 50.10201, 'lng': 8.69567, 'alt': 20},
+ {'lat': 50.10063, 'lng': 8.69150, 'alt': 30},
+ {'lat': 50.09878, 'lng': 8.68752, 'alt': 40}
+]
+```
+
+
+
+
+
+
+
+
+%prep
+%autosetup -n flexpolyline-0.1.0
+
+%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-flexpolyline -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Wed May 17 2023 Python_Bot <Python_Bot@openeuler.org> - 0.1.0-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..c533af3
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+e2429bfa1a1b3c48bf51856194822e30 flexpolyline-0.1.0.tar.gz