For each request file, generate a corresponding response file with the current geoprocessing service. In fish shell, you could do:
for f in *; set k (echo $f | string replace request response); http :8090/jobs sync==true timeout==90 context==geoprocessing appName==geoprocessing-1.2.0 classPath==org.wikiwatershed.mmw.geoprocessing.MapshedJob < $f > $k; end
Then, check out this branch and build and deploy the geoprocessing JAR to the worker VM and reload the Spark JobServer service:
cd ~/dev/mmwg/; and ./sbt "project summary" assembly; and mv -f summary/target/scala-2.10/mmw-geoprocessing-assembly-1.2.0.jar ~/dev/mmw/src/mmw/; and cd ~/dev/mmw/; and vagrant ssh worker -c "sudo mv /opt/app/mmw-geoprocessing-assembly-1.2.0.jar /opt/geoprocessing/mmw-geoprocessing-1.2.0.jar && sudo service spark-jobserver restart"
Then generate responses for the above requests again and diff them with the previous set. Ensure that they are identical, except for overlap-test-request.json which should only have a response on this branch.
+1, tested. The output values for the inputs with non-overlapping shapes are the same and running this jar locally in MMW enables modeling multiple overlapping modifications:
Overview
By passing them through
.buffer(0)
we reduce the chance of intersection / union errors because of lines that are too close to each other.Connects #42 Connects https://github.com/WikiWatershed/model-my-watershed/issues/1884
Demo
Testing Instructions
Download this archive of sample requests: overlapping-test.zip
For each
request
file, generate a correspondingresponse
file with the current geoprocessing service. Infish
shell, you could do:Then, check out this branch and build and deploy the geoprocessing JAR to the worker VM and reload the Spark JobServer service:
Then generate responses for the above requests again and diff them with the previous set. Ensure that they are identical, except for
overlap-test-request.json
which should only have a response on this branch.