diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-04-11 17:21:13 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-04-11 17:21:13 +0000 |
| commit | 3f1d891b73fe3afca4a4d774cbedb647a5a03e1d (patch) | |
| tree | 5f7aac2223d2b2a21a4528dae3878999ebcced47 | |
| parent | 81884ff9ef59af761e527432fe2368cc3082e697 (diff) | |
automatic import of python-jismesh
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-jismesh.spec | 570 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 572 insertions, 0 deletions
@@ -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 @@ -0,0 +1 @@ +9bca99bc4e6ff3b752b7a18726245a54 jismesh-2.1.0.tar.gz |
