diff --git a/Makefile b/Makefile index a28d80d..992aac3 100644 --- a/Makefile +++ b/Makefile @@ -159,11 +159,11 @@ salvis-overlaid-visvalingam-64-chaikin-50k_WIDTHDIV = 2 salvis-overlaid-visvalingam-64-chaikin-50k_QUADRANT = 1 -.faux_test-rivers: tests-rivers.sql wm.sql Makefile .faux_db +.faux_test-rivers: test-rivers.sql wm.sql Makefile .faux_db bash db -v scaledwidth=$(SCALEDWIDTH) -f $< touch $@ -.faux_test: tests.sql wm.sql .faux_db +.faux_test: test.sql wm.sql .faux_db bash db -f $< touch $@ diff --git a/README.md b/README.md new file mode 100644 index 0000000..7bc7281 --- /dev/null +++ b/README.md @@ -0,0 +1,54 @@ +Wang–Müller algorithm in PostGIS +-------------------------------- + +This is a work-in-progress implementation following "Line generalization based +on analysis of shape characteristics" by Wang and Müller, 1998 paper. + +Structure +--------- + +Detailed implementation description: `mj-msc.tex`. It is describing in detail +what is implemented and what isn't, and why. + +Algorithm itself: `wm.sql`. This is the main file you probably want to look at. + +Synthetic tests are in `tests.sql`. They are exercising various pieces of the +algorithm and asserting the results are what expect them to be. + +Tests with real rivers are in `test-rivers.sql`. + +`Makefile` glues everything together. + +Executing the algorithm +----------------------- + +``` +$ make help +mj-msc-full.pdf Thesis for publishing +test Unit tests (fast) +test-rivers Rivers tests (slow) +clean Clean the current working directory +clean-tables Remove tables created during unit or rivers tests +help Print this help message +wc Character and page count +refresh-rivers Refresh rivers.sql from Open Street Maps +``` + +To execute the algorithm, run: + +- `make test` for tests with synthetic data. +- `make test-rivers` for tests with real rivers. You may adjust the rivers and + data source (e.g. use a different country instead of Lithuania) by changing + the `Makefile` and the test files. + +Building the paper (pdf) +------------------------ + +`mj-msc.tex` results in `mj-msc-full.pdf`, which will be at some point +published. It needs quite a few dependencies, including a functioning Docker +environment. + +License +------- + +GPL 2.0 or later. Same as QGIS and PostGIS. diff --git a/tests-rivers.sql b/test-rivers.sql similarity index 100% rename from tests-rivers.sql rename to test-rivers.sql diff --git a/tests.sql b/test.sql similarity index 100% rename from tests.sql rename to test.sql