wrgd 0.18.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- wrgd-0.18.0/CHANGELOG.md +275 -0
- wrgd-0.18.0/CONTRIBUTING.md +13 -0
- wrgd-0.18.0/LICENSE +21 -0
- wrgd-0.18.0/MANIFEST.in +9 -0
- wrgd-0.18.0/PKG-INFO +602 -0
- wrgd-0.18.0/README.md +580 -0
- wrgd-0.18.0/docs/ARCHITECTURE.md +78 -0
- wrgd-0.18.0/docs/CHANGELOG.md +10 -0
- wrgd-0.18.0/docs/DESIGN.md +33 -0
- wrgd-0.18.0/docs/ROADMAP.md +31 -0
- wrgd-0.18.0/docs/research/datasets/CopernicusDEM.md +175 -0
- wrgd-0.18.0/docs/research/datasets/DATASET_COMPARISON.md +198 -0
- wrgd-0.18.0/docs/research/datasets/FABDEM.md +121 -0
- wrgd-0.18.0/docs/research/datasets/OpenTopography.md +135 -0
- wrgd-0.18.0/docs/research/datasets/README.md +69 -0
- wrgd-0.18.0/docs/research/datasets/SRTM.md +175 -0
- wrgd-0.18.0/docs/research/datasets/aw3d30.md +133 -0
- wrgd-0.18.0/docs/research/ideas/AI/346/264/273/347/224/250/343/202/242/343/202/244/343/203/207/343/202/242.md +1 -0
- wrgd-0.18.0/docs/research/ideas/Roadmap/345/200/231/350/243/234.md +1 -0
- wrgd-0.18.0/docs/research/ideas//343/203/241/343/203/242.md +1 -0
- wrgd-0.18.0/docs/research/ideas//345/260/206/346/235/245/343/202/204/343/202/212/343/201/237/343/201/204/343/201/223/343/201/250.md +1 -0
- wrgd-0.18.0/docs/research/templates/dataset_template.md +95 -0
- wrgd-0.18.0/docs/research/templates/evaluation_criteria.md +61 -0
- wrgd-0.18.0/pyproject.toml +80 -0
- wrgd-0.18.0/setup.cfg +4 -0
- wrgd-0.18.0/src/__init__.py +0 -0
- wrgd-0.18.0/src/wrgd/__init__.py +14 -0
- wrgd-0.18.0/src/wrgd/app.py +102 -0
- wrgd-0.18.0/src/wrgd/cli.py +106 -0
- wrgd-0.18.0/src/wrgd/geometry/__init__.py +0 -0
- wrgd-0.18.0/src/wrgd/geometry/distance.py +53 -0
- wrgd-0.18.0/src/wrgd/geometry/elevation.py +0 -0
- wrgd-0.18.0/src/wrgd/geometry/gradient.py +42 -0
- wrgd-0.18.0/src/wrgd/io/__init__.py +0 -0
- wrgd-0.18.0/src/wrgd/io/csv_writer.py +52 -0
- wrgd-0.18.0/src/wrgd/io/dem_loader.py +62 -0
- wrgd-0.18.0/src/wrgd/io/geojson_reader.py +92 -0
- wrgd-0.18.0/src/wrgd/io/geojson_writer.py +72 -0
- wrgd-0.18.0/src/wrgd/io/gpx_reader.py +85 -0
- wrgd-0.18.0/src/wrgd/io/gpx_writer.py +69 -0
- wrgd-0.18.0/src/wrgd/io/json_writer.py +41 -0
- wrgd-0.18.0/src/wrgd/models/__init__.py +11 -0
- wrgd-0.18.0/src/wrgd/models/coordinate.py +24 -0
- wrgd-0.18.0/src/wrgd/models/road_statistics.py +14 -0
- wrgd-0.18.0/src/wrgd/preprocessing/__init__.py +0 -0
- wrgd-0.18.0/src/wrgd/profile/__init__.py +7 -0
- wrgd-0.18.0/src/wrgd/profile/elevation_profile.py +167 -0
- wrgd-0.18.0/src/wrgd/road/__init__.py +5 -0
- wrgd-0.18.0/src/wrgd/road/builder.py +127 -0
- wrgd-0.18.0/src/wrgd/road/segment.py +112 -0
- wrgd-0.18.0/src/wrgd/utils/__init__.py +0 -0
- wrgd-0.18.0/src/wrgd.egg-info/PKG-INFO +602 -0
- wrgd-0.18.0/src/wrgd.egg-info/SOURCES.txt +68 -0
- wrgd-0.18.0/src/wrgd.egg-info/dependency_links.txt +1 -0
- wrgd-0.18.0/src/wrgd.egg-info/entry_points.txt +2 -0
- wrgd-0.18.0/src/wrgd.egg-info/requires.txt +2 -0
- wrgd-0.18.0/src/wrgd.egg-info/top_level.txt +1 -0
- wrgd-0.18.0/tests/test_app.py +144 -0
- wrgd-0.18.0/tests/test_builder.py +104 -0
- wrgd-0.18.0/tests/test_cli.py +160 -0
- wrgd-0.18.0/tests/test_coordinate.py +8 -0
- wrgd-0.18.0/tests/test_dem_loader.py +36 -0
- wrgd-0.18.0/tests/test_distance.py +52 -0
- wrgd-0.18.0/tests/test_elevation_profile.py +138 -0
- wrgd-0.18.0/tests/test_geojson_reader.py +22 -0
- wrgd-0.18.0/tests/test_geojson_writer.py +46 -0
- wrgd-0.18.0/tests/test_gpx_reader.py +110 -0
- wrgd-0.18.0/tests/test_gpx_writer.py +150 -0
- wrgd-0.18.0/tests/test_gradient.py +42 -0
- wrgd-0.18.0/tests/test_segment.py +139 -0
wrgd-0.18.0/CHANGELOG.md
ADDED
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is inspired by Keep a Changelog.
|
|
6
|
+
This project follows Semantic Versioning.
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## v0.18.0 - Sprint 17
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- CLI CSV export support via `--csv`
|
|
15
|
+
- CLI JSON export support via `--json`
|
|
16
|
+
- Optional statistics file output while preserving the existing console report display
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
|
|
20
|
+
- Updated CLI to support saving analysis statistics to CSV and JSON files without changing the existing screen output flow
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## v0.17.0
|
|
25
|
+
|
|
26
|
+
### Added
|
|
27
|
+
|
|
28
|
+
- CLI-enabled road analysis execution
|
|
29
|
+
- Public API entrypoint cleanup for package usage
|
|
30
|
+
- README onboarding updates for Installation, Quick Start, and Python API
|
|
31
|
+
- Improved CLI user-facing error handling
|
|
32
|
+
- CLI input information display
|
|
33
|
+
|
|
34
|
+
### Changed
|
|
35
|
+
|
|
36
|
+
- Migrated the codebase to the `src/wrgd` package structure
|
|
37
|
+
- Updated tests to align with the new package layout
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## [Unreleased]
|
|
42
|
+
|
|
43
|
+
No unreleased changes.
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## v0.14.0
|
|
48
|
+
|
|
49
|
+
### Added
|
|
50
|
+
|
|
51
|
+
- Road Statistics API (`RoadSegment.statistics()`)
|
|
52
|
+
- Unified road statistics retrieval
|
|
53
|
+
- Added unit test for `statistics()`
|
|
54
|
+
|
|
55
|
+
### Changed
|
|
56
|
+
|
|
57
|
+
- Updated Demo application to use the Statistics API
|
|
58
|
+
- Updated CLI to use the Statistics API
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## [v0.13.0] - 2026-07-26
|
|
63
|
+
|
|
64
|
+
### Added
|
|
65
|
+
|
|
66
|
+
- Command Line Interface (CLI)
|
|
67
|
+
- Shared application utilities (`src/app.py`)
|
|
68
|
+
- Elevation profile visualization
|
|
69
|
+
- Demo application improvements
|
|
70
|
+
|
|
71
|
+
### Improved
|
|
72
|
+
|
|
73
|
+
- Refactored demo and CLI to share common logic
|
|
74
|
+
- Improved project structure and maintainability
|
|
75
|
+
|
|
76
|
+
### Quality
|
|
77
|
+
|
|
78
|
+
- 42 pytest tests passed
|
|
79
|
+
- Ruff passed
|
|
80
|
+
- Black passed
|
|
81
|
+
- mypy passed
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## [v0.12.0] - 2026-07-26
|
|
86
|
+
|
|
87
|
+
### Added
|
|
88
|
+
|
|
89
|
+
- Demo application (`examples/demo.py`)
|
|
90
|
+
- Road analysis report
|
|
91
|
+
- Elevation profile visualization
|
|
92
|
+
- PNG export (`output/elevation_profile.png`)
|
|
93
|
+
|
|
94
|
+
### Improved
|
|
95
|
+
|
|
96
|
+
- README updated with demo instructions
|
|
97
|
+
- Demo screenshots and usage examples
|
|
98
|
+
|
|
99
|
+
### Quality
|
|
100
|
+
|
|
101
|
+
- 42 pytest tests passed
|
|
102
|
+
- Ruff passed
|
|
103
|
+
- Black passed
|
|
104
|
+
- mypy passed
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## [v0.11.0] - 2026-07-22
|
|
109
|
+
|
|
110
|
+
### Added
|
|
111
|
+
|
|
112
|
+
- GPX elevation (`<ele>`) output support
|
|
113
|
+
- Backward-compatible GPXWriter
|
|
114
|
+
- Unit tests for GPX elevation support
|
|
115
|
+
- Validation for invalid point formats
|
|
116
|
+
|
|
117
|
+
### Improved
|
|
118
|
+
|
|
119
|
+
- README updated with GPX elevation examples
|
|
120
|
+
|
|
121
|
+
### Quality
|
|
122
|
+
|
|
123
|
+
- 42 pytest tests passed
|
|
124
|
+
- Ruff passed
|
|
125
|
+
- Black passed
|
|
126
|
+
- mypy passed
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## [v0.10.0] - 2026-07-22
|
|
131
|
+
...
|
|
132
|
+
|
|
133
|
+
### Added
|
|
134
|
+
|
|
135
|
+
- GPXWriter implementation
|
|
136
|
+
- GPX 1.1 export support
|
|
137
|
+
- GPXWriter unit tests
|
|
138
|
+
|
|
139
|
+
### Improved
|
|
140
|
+
|
|
141
|
+
- README updated
|
|
142
|
+
- Architecture diagram updated
|
|
143
|
+
- Supported formats table added
|
|
144
|
+
|
|
145
|
+
### Quality
|
|
146
|
+
|
|
147
|
+
- 39 pytest tests passed
|
|
148
|
+
- Ruff passed
|
|
149
|
+
- Black passed
|
|
150
|
+
- mypy passed
|
|
151
|
+
|
|
152
|
+
### Known Issues
|
|
153
|
+
|
|
154
|
+
- When using NumPy 2.5.x, a `DeprecationWarning` may be emitted by the Rasterio dependency when loading DEM files.
|
|
155
|
+
- This warning originates from Rasterio, not WRGD, and does not affect functionality.
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## [v0.9.0] - 2026-07-20
|
|
160
|
+
|
|
161
|
+
### Added
|
|
162
|
+
|
|
163
|
+
- GeoJSONReader
|
|
164
|
+
- GeoJSONWriter
|
|
165
|
+
- GPXReader
|
|
166
|
+
- GeoJSON unit tests
|
|
167
|
+
- GPX unit tests
|
|
168
|
+
|
|
169
|
+
### Improved
|
|
170
|
+
|
|
171
|
+
- README
|
|
172
|
+
- API Overview
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## [v0.8.0] - 2026-07-17
|
|
177
|
+
|
|
178
|
+
### Added
|
|
179
|
+
|
|
180
|
+
- Ruff
|
|
181
|
+
- Black
|
|
182
|
+
- mypy
|
|
183
|
+
- pytest-cov
|
|
184
|
+
- CHANGELOG.md
|
|
185
|
+
|
|
186
|
+
### CI
|
|
187
|
+
|
|
188
|
+
- Improved GitHub Actions
|
|
189
|
+
|
|
190
|
+
### Documentation
|
|
191
|
+
|
|
192
|
+
- README improvements
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## [v0.7.0] - 2026-07-13
|
|
197
|
+
|
|
198
|
+
### Added
|
|
199
|
+
|
|
200
|
+
- ElevationProfile class
|
|
201
|
+
- Cumulative distance calculation
|
|
202
|
+
- Elevation profile generation
|
|
203
|
+
- Maximum / Minimum elevation
|
|
204
|
+
- Total ascent / descent
|
|
205
|
+
|
|
206
|
+
### CI
|
|
207
|
+
|
|
208
|
+
- GitHub Actions for automatic pytest execution
|
|
209
|
+
|
|
210
|
+
### Documentation
|
|
211
|
+
|
|
212
|
+
- README improvements
|
|
213
|
+
- LICENSE (MIT)
|
|
214
|
+
- CONTRIBUTING.md
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## [v0.6.0] - 2026-07-12
|
|
219
|
+
|
|
220
|
+
### Added
|
|
221
|
+
|
|
222
|
+
- RoadSegmentBuilder
|
|
223
|
+
- Automatic DEM elevation lookup
|
|
224
|
+
- Automatic distance calculation
|
|
225
|
+
- Automatic gradient calculation
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
## [v0.5.0] - Sprint 4
|
|
230
|
+
|
|
231
|
+
### Added
|
|
232
|
+
|
|
233
|
+
- RoadSegment class
|
|
234
|
+
- Distance summary
|
|
235
|
+
- Average gradient
|
|
236
|
+
- Validation checks
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
## [v0.4.0] - Sprint 3
|
|
241
|
+
|
|
242
|
+
### Added
|
|
243
|
+
|
|
244
|
+
- calculate_distance()
|
|
245
|
+
- calculate_gradient()
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
## [v0.3.0] - Sprint 2
|
|
250
|
+
|
|
251
|
+
### Added
|
|
252
|
+
|
|
253
|
+
- DEMLoader
|
|
254
|
+
- GeoTIFF support
|
|
255
|
+
- Elevation lookup
|
|
256
|
+
- Out-of-range validation
|
|
257
|
+
|
|
258
|
+
---
|
|
259
|
+
|
|
260
|
+
## [v0.2.0] - Sprint 1
|
|
261
|
+
|
|
262
|
+
### Added
|
|
263
|
+
|
|
264
|
+
- DEM dataset research
|
|
265
|
+
- Dataset comparison
|
|
266
|
+
|
|
267
|
+
---
|
|
268
|
+
|
|
269
|
+
## [v0.1.0] - Sprint 0
|
|
270
|
+
|
|
271
|
+
### Added
|
|
272
|
+
|
|
273
|
+
- Repository creation
|
|
274
|
+
- Development environment
|
|
275
|
+
- pytest setup
|
wrgd-0.18.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 bonchan0171-ops
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|