summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-04-11 17:21:13 +0000
committerCoprDistGit <infra@openeuler.org>2023-04-11 17:21:13 +0000
commit3f1d891b73fe3afca4a4d774cbedb647a5a03e1d (patch)
tree5f7aac2223d2b2a21a4528dae3878999ebcced47
parent81884ff9ef59af761e527432fe2368cc3082e697 (diff)
automatic import of python-jismesh
-rw-r--r--.gitignore1
-rw-r--r--python-jismesh.spec570
-rw-r--r--sources1
3 files changed, 572 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..6c41612 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/jismesh-2.1.0.tar.gz
diff --git a/python-jismesh.spec b/python-jismesh.spec
new file mode 100644
index 0000000..25f76f2
--- /dev/null
+++ b/python-jismesh.spec
@@ -0,0 +1,570 @@
+%global _empty_manifest_terminate_build 0
+Name: python-jismesh
+Version: 2.1.0
+Release: 1
+Summary: Utilities for the Japanese regional grid system defined in Japanese Industrial Standards (JIS X 0410 地域メッシュ).
+License: MIT
+URL: https://github.com/hni14/jismesh
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/54/19/510a87d2245f5f15191de2f1a5e15c2a0275b45141cd941ca0ce61a0ee18/jismesh-2.1.0.tar.gz
+BuildArch: noarch
+
+Requires: python3-numpy
+Requires: python3-functools32
+Requires: python3-nose
+
+%description
+# jismesh
+
+地域メッシュコードに関するユーティリティです。
+
+## 対応地域メッシュコード
+- 1次(標準地域メッシュ 80km四方): 1
+- 40倍(拡張統合地域メッシュ 40km四方): 40000
+- 20倍(拡張統合地域メッシュ 20km四方): 20000
+- 16倍(拡張統合地域メッシュ 16km四方): 16000
+- 2次(標準地域メッシュ 10km四方): 2
+- 8倍(拡張統合地域メッシュ 8km四方): 8000
+- 5倍(統合地域メッシュ 5km四方): 5000
+- 4倍(拡張統合地域メッシュ 4km四方): 4000
+- 2.5倍(拡張統合地域メッシュ 2.5km四方): 2500
+- 2倍(統合地域メッシュ 2km四方): 2000
+- 3次(標準地域メッシュ 1km四方): 3
+- 4次(分割地域メッシュ 500m四方): 4
+- 5次(分割地域メッシュ 250m四方): 5
+- 6次(分割地域メッシュ 125m四方): 6
+
+## インストール
+```bash
+pip install jismesh
+```
+
+## 緯度経度から地域メッシュコードを求める
+
+メッシュコードに変換する世界測地系緯度経度と変換するメッシュコードの次数を指定します。
+
+### 使用例
+```python
+import jismesh.utils as ju
+
+# 緯度経度からメッシュコードを求める。
+meshcode = ju.to_meshcode(35.658581, 139.745433, 3)
+print(meshcode)
+53393599
+
+# pandas DataFrame中の緯度経度をメッシュコードに変換する。
+import pandas as pd
+df = pd.DataFrame({'lat': [35.658581, 34.987574], 'lon':[139.745433, 135.759363]})
+print(df)
+ lat lon
+0 35.658581 139.745433
+1 34.987574 135.759363
+
+df['meshcode'] = ju.to_meshcode(df.lat, df.lon, 3)
+print(df)
+ lat lon meshcode
+0 35.658581 139.745433 53393599
+1 34.987574 135.759363 52353680
+```
+
+
+## 地域メッシュコードから次数を求める
+
+メッシュコードからそのメッシュコードの次数を判定します。
+
+### 使用例
+```python
+import jismesh.utils as ju
+
+# メッシュコードの次数を求める。
+meshlevel = ju.to_meshlevel(53393599)
+print(meshlevel)
+3
+
+# pandas DataFrame中のメッシュコードを次数に変換する。
+import pandas as pd
+df = pd.DataFrame({'meshcode': [53393599, 52353680]})
+print(df)
+ meshcode
+0 53393599
+1 52353680
+
+df['level'] = ju.to_meshlevel(df.meshcode)
+print(df)
+ meshcode level
+0 53393599 3
+1 52353680 3
+```
+
+
+## 地域メッシュコードから緯度経度を求める
+
+求める緯度経度で表される点は、当該メッシュの基準点(南西端)から、
+緯度座標上の点の位置(当該メッシュの単位経度の倍数)、経度座標上の点の位置(当該メッシュの単位緯度の倍数)
+を指定します。
+
+### 使用例
+```python
+import jismesh.utils as ju
+
+# 南西端の緯度経度を求める。
+lat_sw, lon_sw = ju.to_meshpoint(53393599, 0, 0)
+print(lat_sw, lon_sw)
+35.6583333333 139.7375
+
+# 北東端の緯度経度を求める。
+lat_ne, lon_ne = ju.to_meshpoint(53393599, 1, 1)
+print(lat_ne, lon_ne)
+35.6666666667 139.75
+
+# 中心点の緯度経度を求める。
+lat_c, lon_c = ju.to_meshpoint(53393599, 0.5, 0.5)
+print(lat_c, lon_c)
+35.6625 139.74375
+
+# 東隣接メッシュの中心点の緯度経度を求める。
+lat_east_neighbor_c, lon_east_neighbor_c = ju.to_meshpoint(53393599, 0.5, 1.5)
+print(lat_east_neighbor_c, lon_east_neighbor_c)
+35.6625 139.75625
+
+# pandas DataFrame中のメッシュコードを中心点緯度経度に変換する。
+import pandas as pd
+df = pd.DataFrame({'meshcode': [53393599, 52353680]})
+print(df)
+ meshcode
+0 53393599
+1 52353680
+
+df['lat'], df['lon'] = ju.to_meshpoint(df.meshcode, lat_multiplier=0.5, lon_multiplier=0.5)
+print(df)
+ meshcode lat lon
+0 53393599 35.6625 139.74375
+1 52353680 34.9875 135.75625
+```
+
+## 交差する地域メッシュコードを求める
+
+### 使用例
+```python
+import jismesh.utils as ju
+
+# 交差するメッシュコードを求める。
+generator_intersects = ju.to_intersects(53394611, 4)
+
+for meshcode in generator_intersects:
+ print(meshcode)
+
+533946111
+533946112
+533946113
+533946114
+```
+
+## TIPS
+lruキャッシュによる高速化
+```python
+import jismesh.utils as ju
+from functools import lru_cache
+
+# lruキャッシュ無効な関数の実行速度
+timeit ju.to_meshcode(35.6625, 139.75625, 3)
+12.6 µs ± 908 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)
+
+# lruキャッシュ有効な関数の実行速度
+cached_to_meshcode = lru_cache(10)(ju.to_meshcode)
+
+timeit cached_to_meshcode(35.6625, 139.75625, 3)
+
+192 ns ± 3.5 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)
+```
+
+
+
+
+%package -n python3-jismesh
+Summary: Utilities for the Japanese regional grid system defined in Japanese Industrial Standards (JIS X 0410 地域メッシュ).
+Provides: python-jismesh
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-jismesh
+# jismesh
+
+地域メッシュコードに関するユーティリティです。
+
+## 対応地域メッシュコード
+- 1次(標準地域メッシュ 80km四方): 1
+- 40倍(拡張統合地域メッシュ 40km四方): 40000
+- 20倍(拡張統合地域メッシュ 20km四方): 20000
+- 16倍(拡張統合地域メッシュ 16km四方): 16000
+- 2次(標準地域メッシュ 10km四方): 2
+- 8倍(拡張統合地域メッシュ 8km四方): 8000
+- 5倍(統合地域メッシュ 5km四方): 5000
+- 4倍(拡張統合地域メッシュ 4km四方): 4000
+- 2.5倍(拡張統合地域メッシュ 2.5km四方): 2500
+- 2倍(統合地域メッシュ 2km四方): 2000
+- 3次(標準地域メッシュ 1km四方): 3
+- 4次(分割地域メッシュ 500m四方): 4
+- 5次(分割地域メッシュ 250m四方): 5
+- 6次(分割地域メッシュ 125m四方): 6
+
+## インストール
+```bash
+pip install jismesh
+```
+
+## 緯度経度から地域メッシュコードを求める
+
+メッシュコードに変換する世界測地系緯度経度と変換するメッシュコードの次数を指定します。
+
+### 使用例
+```python
+import jismesh.utils as ju
+
+# 緯度経度からメッシュコードを求める。
+meshcode = ju.to_meshcode(35.658581, 139.745433, 3)
+print(meshcode)
+53393599
+
+# pandas DataFrame中の緯度経度をメッシュコードに変換する。
+import pandas as pd
+df = pd.DataFrame({'lat': [35.658581, 34.987574], 'lon':[139.745433, 135.759363]})
+print(df)
+ lat lon
+0 35.658581 139.745433
+1 34.987574 135.759363
+
+df['meshcode'] = ju.to_meshcode(df.lat, df.lon, 3)
+print(df)
+ lat lon meshcode
+0 35.658581 139.745433 53393599
+1 34.987574 135.759363 52353680
+```
+
+
+## 地域メッシュコードから次数を求める
+
+メッシュコードからそのメッシュコードの次数を判定します。
+
+### 使用例
+```python
+import jismesh.utils as ju
+
+# メッシュコードの次数を求める。
+meshlevel = ju.to_meshlevel(53393599)
+print(meshlevel)
+3
+
+# pandas DataFrame中のメッシュコードを次数に変換する。
+import pandas as pd
+df = pd.DataFrame({'meshcode': [53393599, 52353680]})
+print(df)
+ meshcode
+0 53393599
+1 52353680
+
+df['level'] = ju.to_meshlevel(df.meshcode)
+print(df)
+ meshcode level
+0 53393599 3
+1 52353680 3
+```
+
+
+## 地域メッシュコードから緯度経度を求める
+
+求める緯度経度で表される点は、当該メッシュの基準点(南西端)から、
+緯度座標上の点の位置(当該メッシュの単位経度の倍数)、経度座標上の点の位置(当該メッシュの単位緯度の倍数)
+を指定します。
+
+### 使用例
+```python
+import jismesh.utils as ju
+
+# 南西端の緯度経度を求める。
+lat_sw, lon_sw = ju.to_meshpoint(53393599, 0, 0)
+print(lat_sw, lon_sw)
+35.6583333333 139.7375
+
+# 北東端の緯度経度を求める。
+lat_ne, lon_ne = ju.to_meshpoint(53393599, 1, 1)
+print(lat_ne, lon_ne)
+35.6666666667 139.75
+
+# 中心点の緯度経度を求める。
+lat_c, lon_c = ju.to_meshpoint(53393599, 0.5, 0.5)
+print(lat_c, lon_c)
+35.6625 139.74375
+
+# 東隣接メッシュの中心点の緯度経度を求める。
+lat_east_neighbor_c, lon_east_neighbor_c = ju.to_meshpoint(53393599, 0.5, 1.5)
+print(lat_east_neighbor_c, lon_east_neighbor_c)
+35.6625 139.75625
+
+# pandas DataFrame中のメッシュコードを中心点緯度経度に変換する。
+import pandas as pd
+df = pd.DataFrame({'meshcode': [53393599, 52353680]})
+print(df)
+ meshcode
+0 53393599
+1 52353680
+
+df['lat'], df['lon'] = ju.to_meshpoint(df.meshcode, lat_multiplier=0.5, lon_multiplier=0.5)
+print(df)
+ meshcode lat lon
+0 53393599 35.6625 139.74375
+1 52353680 34.9875 135.75625
+```
+
+## 交差する地域メッシュコードを求める
+
+### 使用例
+```python
+import jismesh.utils as ju
+
+# 交差するメッシュコードを求める。
+generator_intersects = ju.to_intersects(53394611, 4)
+
+for meshcode in generator_intersects:
+ print(meshcode)
+
+533946111
+533946112
+533946113
+533946114
+```
+
+## TIPS
+lruキャッシュによる高速化
+```python
+import jismesh.utils as ju
+from functools import lru_cache
+
+# lruキャッシュ無効な関数の実行速度
+timeit ju.to_meshcode(35.6625, 139.75625, 3)
+12.6 µs ± 908 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)
+
+# lruキャッシュ有効な関数の実行速度
+cached_to_meshcode = lru_cache(10)(ju.to_meshcode)
+
+timeit cached_to_meshcode(35.6625, 139.75625, 3)
+
+192 ns ± 3.5 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)
+```
+
+
+
+
+%package help
+Summary: Development documents and examples for jismesh
+Provides: python3-jismesh-doc
+%description help
+# jismesh
+
+地域メッシュコードに関するユーティリティです。
+
+## 対応地域メッシュコード
+- 1次(標準地域メッシュ 80km四方): 1
+- 40倍(拡張統合地域メッシュ 40km四方): 40000
+- 20倍(拡張統合地域メッシュ 20km四方): 20000
+- 16倍(拡張統合地域メッシュ 16km四方): 16000
+- 2次(標準地域メッシュ 10km四方): 2
+- 8倍(拡張統合地域メッシュ 8km四方): 8000
+- 5倍(統合地域メッシュ 5km四方): 5000
+- 4倍(拡張統合地域メッシュ 4km四方): 4000
+- 2.5倍(拡張統合地域メッシュ 2.5km四方): 2500
+- 2倍(統合地域メッシュ 2km四方): 2000
+- 3次(標準地域メッシュ 1km四方): 3
+- 4次(分割地域メッシュ 500m四方): 4
+- 5次(分割地域メッシュ 250m四方): 5
+- 6次(分割地域メッシュ 125m四方): 6
+
+## インストール
+```bash
+pip install jismesh
+```
+
+## 緯度経度から地域メッシュコードを求める
+
+メッシュコードに変換する世界測地系緯度経度と変換するメッシュコードの次数を指定します。
+
+### 使用例
+```python
+import jismesh.utils as ju
+
+# 緯度経度からメッシュコードを求める。
+meshcode = ju.to_meshcode(35.658581, 139.745433, 3)
+print(meshcode)
+53393599
+
+# pandas DataFrame中の緯度経度をメッシュコードに変換する。
+import pandas as pd
+df = pd.DataFrame({'lat': [35.658581, 34.987574], 'lon':[139.745433, 135.759363]})
+print(df)
+ lat lon
+0 35.658581 139.745433
+1 34.987574 135.759363
+
+df['meshcode'] = ju.to_meshcode(df.lat, df.lon, 3)
+print(df)
+ lat lon meshcode
+0 35.658581 139.745433 53393599
+1 34.987574 135.759363 52353680
+```
+
+
+## 地域メッシュコードから次数を求める
+
+メッシュコードからそのメッシュコードの次数を判定します。
+
+### 使用例
+```python
+import jismesh.utils as ju
+
+# メッシュコードの次数を求める。
+meshlevel = ju.to_meshlevel(53393599)
+print(meshlevel)
+3
+
+# pandas DataFrame中のメッシュコードを次数に変換する。
+import pandas as pd
+df = pd.DataFrame({'meshcode': [53393599, 52353680]})
+print(df)
+ meshcode
+0 53393599
+1 52353680
+
+df['level'] = ju.to_meshlevel(df.meshcode)
+print(df)
+ meshcode level
+0 53393599 3
+1 52353680 3
+```
+
+
+## 地域メッシュコードから緯度経度を求める
+
+求める緯度経度で表される点は、当該メッシュの基準点(南西端)から、
+緯度座標上の点の位置(当該メッシュの単位経度の倍数)、経度座標上の点の位置(当該メッシュの単位緯度の倍数)
+を指定します。
+
+### 使用例
+```python
+import jismesh.utils as ju
+
+# 南西端の緯度経度を求める。
+lat_sw, lon_sw = ju.to_meshpoint(53393599, 0, 0)
+print(lat_sw, lon_sw)
+35.6583333333 139.7375
+
+# 北東端の緯度経度を求める。
+lat_ne, lon_ne = ju.to_meshpoint(53393599, 1, 1)
+print(lat_ne, lon_ne)
+35.6666666667 139.75
+
+# 中心点の緯度経度を求める。
+lat_c, lon_c = ju.to_meshpoint(53393599, 0.5, 0.5)
+print(lat_c, lon_c)
+35.6625 139.74375
+
+# 東隣接メッシュの中心点の緯度経度を求める。
+lat_east_neighbor_c, lon_east_neighbor_c = ju.to_meshpoint(53393599, 0.5, 1.5)
+print(lat_east_neighbor_c, lon_east_neighbor_c)
+35.6625 139.75625
+
+# pandas DataFrame中のメッシュコードを中心点緯度経度に変換する。
+import pandas as pd
+df = pd.DataFrame({'meshcode': [53393599, 52353680]})
+print(df)
+ meshcode
+0 53393599
+1 52353680
+
+df['lat'], df['lon'] = ju.to_meshpoint(df.meshcode, lat_multiplier=0.5, lon_multiplier=0.5)
+print(df)
+ meshcode lat lon
+0 53393599 35.6625 139.74375
+1 52353680 34.9875 135.75625
+```
+
+## 交差する地域メッシュコードを求める
+
+### 使用例
+```python
+import jismesh.utils as ju
+
+# 交差するメッシュコードを求める。
+generator_intersects = ju.to_intersects(53394611, 4)
+
+for meshcode in generator_intersects:
+ print(meshcode)
+
+533946111
+533946112
+533946113
+533946114
+```
+
+## TIPS
+lruキャッシュによる高速化
+```python
+import jismesh.utils as ju
+from functools import lru_cache
+
+# lruキャッシュ無効な関数の実行速度
+timeit ju.to_meshcode(35.6625, 139.75625, 3)
+12.6 µs ± 908 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)
+
+# lruキャッシュ有効な関数の実行速度
+cached_to_meshcode = lru_cache(10)(ju.to_meshcode)
+
+timeit cached_to_meshcode(35.6625, 139.75625, 3)
+
+192 ns ± 3.5 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)
+```
+
+
+
+
+%prep
+%autosetup -n jismesh-2.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-jismesh -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Tue Apr 11 2023 Python_Bot <Python_Bot@openeuler.org> - 2.1.0-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..8743207
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+9bca99bc4e6ff3b752b7a18726245a54 jismesh-2.1.0.tar.gz