Commit 25fcaf3
Pure Julia WKT2 to PROJJSON conversion (#156)
* add testing against json schema
* half-complete implementation for processing GEOGCRS
* use DeepDiffs.jl for semantic comparison between nested Dicts
* add processing for GEOGCRS(Variant 1: ENSEMBLE)
* add processing for GEOGCRS(Variant 2: DATUM)
* handle UNIT optionally occurring in coordinate_system or each axis
* testing utils
* testing
* add processing for GEODCRS
* add processing for DYNAMIC entries is GEOG and GEOD.
These end up effecting the "datum" json items
* uncommitted changes
* add processing for PROJCRS
* replace the actual projjsonstring function
* remove ArchGDAL dependency
* Revert "remove ArchGDAL dependency"
This reverts commit 33fac70.
turns out ArchGDAL is still needed for other functionality
* solid cleanup round
* refactor testing utils
* side step EPSGs unsupported by the WKT dataset
* Fix 8% of cases where axis.direction should not start with uppercase
* add support for meridian and prime_meridian optional nodes
* support custom units for measurments (Clarke's foot??)
* full unit support
* ellipsoid cleanup
* git revert hot fix
* finalize testsuite
* testset fix
* reorganize wkt2json.jl
* rename wktdict2jsondict to wkt2json
* simple test to make sure our main callsite is tested
* cleanup test/jsonutils.jl
* remove test dependency on DeepDiffs as it still had few false-negatives
DeepDiffs and PrettyPrinting are still vastly useful when developing
* remove import DeepDiffs
* reintroduce changes after merging with master
* turns out spatialref is still needed for extra/gdal.jl
* change file locations
* rename vars and helper functions to be more inline with style
* adjust and rename itembykey (to finditem)
* various improvements to comments
* delete commented code
* run JuliaFormatter
* various comments, error msgs, and code cleanups
* one round of cleanups for test/jsonutils.jl
* cleanup debug_json (now check_projjson) test/jsonutils.jl
* test/jsonutils.jl renames
* style renames
* refactor wkt2json_datum and change it's encapsulation
* mass consistency renames
* error msg improvements
* remove 80% of remaining underscores to fit project style
* Move test/jsonutils.jl to outside testfiles
* Rename test/jsonutils.jl to test/testutils.jl
* Move all test utilities to test/testutils.jl
* Miscellaneous cleanup
* More refactoring
* Fix typo
* Rename src/projjson.jl to src/crsstrings.jl
* Refactor src/conversion.jl
* Refactor tests
* Refactor tests
* Minor adjustments
* follow style, remove function return type
* minor adjustments as per PR review
* organize and elaborate on testing edge cases
* remove helper debugging functions
* Final cleanup
* Final code style fixes
* Move functions around
* Additional cleanup
* jsonroundtrip is not needed anymore. Do not leave any SubStrings in the jsondict
I found the reason `jsonroundtrip` was needed for `JSONSchema.validate`
to work properly. Turns out there is a bug in JSONSchema that makes it
faultily deal with the underlying String behind a SubStrings
---------
Co-authored-by: Júlio Hoffimann <[email protected]>1 parent 6fa0eec commit 25fcaf3
File tree
14 files changed
+1763
-70
lines changed- src
- extra
- test
- artifacts
14 files changed
+1763
-70
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
56 | | - | |
| 56 | + | |
57 | 57 | | |
58 | 58 | | |
59 | 59 | | |
| |||
112 | 112 | | |
113 | 113 | | |
114 | 114 | | |
115 | | - | |
| 115 | + | |
116 | 116 | | |
117 | 117 | | |
118 | | - | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
119 | 122 | | |
120 | 123 | | |
121 | 124 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
5 | 8 | | |
6 | 9 | | |
7 | 10 | | |
| |||
23 | 26 | | |
24 | 27 | | |
25 | 28 | | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
| |||
0 commit comments