https://github.com/actinia-org/actinia-tiling-plugin
This is the actinia data tiling plugin for faster processing.
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (9.5%) to scientific vocabulary
Keywords
Repository
This is the actinia data tiling plugin for faster processing.
Basic Info
Statistics
- Stars: 2
- Watchers: 5
- Forks: 1
- Open Issues: 4
- Releases: 5
Topics
Metadata Files
README.md
actinia-tiling-plugin
This is an example plugin for actinia-core which adds a "Hello World" endpoint to actinia-core.
You can run actinia-tiling-plugin as actinia-core plugin.
Installation
Use docker-compose for installation:
bash
docker-compose -f docker/docker-compose.yml build
docker-compose -f docker/docker-compose.yml up -d
Installation hints
- If you get an error like:
ERROR: for docker_kvdb_1 Cannot start service valkey: network xxx not foundyou can try the following:bash docker-compose -f docker/docker-compose.yml down # remove all custom networks not used by a container docker network prune docker-compose -f docker/docker-compose.yml up -d
DEV setup
For a DEV setup you can use the docker/docker-compose.yml: ```bash docker-compose -f docker/docker-compose.yml build docker-compose -f docker/docker-compose.yml run --rm --service-ports --entrypoint sh actinia
install the plugin
(cd /src/actinia-tiling-plugin && pip3 install .)
start actinia-core with your plugin
gunicorn -b 0.0.0.0:8088 -w 1 --access-logfile=- -k gthread actiniacore.main:flaskapp ```
Hints
If you have no
.gitfolder in the plugin folder, you need to set theSETUPTOOLS_SCM_PRETEND_VERSIONbefore installing the plugin:bash export SETUPTOOLS_SCM_PRETEND_VERSION=0.0Otherwise you will get an error like thisLookupError: setuptools-scm was unable to detect version for '/src/actinia-tiling-plugin'..If you make changes in code and nothing changes you can try to uninstall the plugin:
bash pip3 uninstall actinia-tiling-plugin.wsgi -y rm -rf /usr/lib/python3.8/site-packages/actinia_tiling_plugin.wsgi-*.egg
Running tests
You can run the tests in the actinia docker: ```bash docker build -f docker/actinia-tiling-plugin-test/Dockerfile -t actinia-tiling-plugin-test .
docker run -it actinia-tiling-plugin-test -i
cd /src/actinia-tiling-plugin/
run all tests
make test ```
For debugging the test this might be helpful when a waitAsyncStatusAssertHTTP fails:
python
from flask.json import loads as json_loads
resp_data = json_loads(rv.data)
rv_user_id = resp_data["user_id"]
rv_resource_id = resp_data["resource_id"]
rv2 = self.server.get(URL_PREFIX + "/resources/%s/%s" % (rv_user_id, rv_resource_id), headers=self.user_auth_header)
resp_data2 = json_loads(rv2.data)
Small Example
python
actinia_base_url=http://localhost:8088/api/v3
mapset_url=${actinia_base_url}/projects/loc_25832/mapsets/tiling_usermapset
auth="actinia-gdi:actinia-gdi"
Grid Tiling Example
```bash
grid tiling
the region should be set correctly
jsonreg=testpostbodies/setregionforepsg25832.json curl -u ${auth} -X POST ${mapseturl}/processingasync -H 'accept: application/json' -H 'Content-Type: application/json' -d @${jsonreg} | jq curl -u ${auth} -X GET ${mapset_url}/info | jq
create tiling grid
curl -u ${auth} -X GET ${mapseturl}/vectorlayers | jq json=testpostbodies/gridtilingpb.json curl -u ${auth} -X POST ${mapseturl}/tilingprocesses/grid -H 'accept: application/json' -H 'Content-Type: application/json' -d @${json} | jq curl -u ${auth} -X GET ${mapseturl}/vector_layers | jq
request tiling_processes
curl -u ${auth} -X GET ${mapseturl}/tilingprocesses | jq curl -u ${auth} -X GET ${mapseturl}/tilingprocesses/grid | jq ```
Processing Example as preparation for the merge
```bash
process - tile 1
json=testpostbodies/grid1calulation.json curl -u ${auth} -X POST ${mapseturl}tmp1/processingasync -H 'accept: application/json' -H 'Content-Type: application/json' -d @${json} | jq curl -u ${auth} -X GET "http://localhost:8088/api/v3/resources/actinia-gdi/resourceid-..." | jq curl -u ${auth} -X GET ${mapseturl}tmp1/vectorlayers | jq curl -u ${auth} -X GET ${mapseturl}tmp1/rasterlayers | jq curl -u ${auth} -X GET ${mapseturl}_tmp1/strds | jq
process - tile 2
json=testpostbodies/grid2calulation.json curl -u ${auth} -X POST ${mapseturl}tmp2/processingasync -H 'accept: application/json' -H 'Content-Type: application/json' -d @${json} | jq curl -u ${auth} -X GET "http://localhost:8088/api/v3/resources/actinia-gdi/resource_id-..." | jq
process - tile 3
json=testpostbodies/grid3calulation.json curl -u ${auth} -X POST ${mapseturl}tmp3/processingasync -H 'accept: application/json' -H 'Content-Type: application/json' -d @${json} | jq curl -u ${auth} -X GET "http://localhost:8088/api/v3/resources/actinia-gdi/resource_id-..." | jq ```
Patch merge Example
```bash json=testpostbodies/patchmergenomapsetdeletion.json json=testpostbodies/patchmerge.json curl -u ${auth} -X POST ${mapseturl}/mergeprocesses/patch -H 'accept: application/json' -H 'Content-Type: application/json' -d @${json} | jq curl -u ${auth} -X GET ${mapseturl}/vectorlayers | jq curl -u ${auth} -X GET ${mapseturl}/rasterlayers | jq curl -u ${auth} -X GET ${mapseturl}/strds | jq
curl -u ${auth} -X GET ${actiniabaseurl}/projects/loc_25832/mapsets | jq ```
TODO
- Region statt Vector speichern (wie res setzen?)
Owner
- Name: actinia
- Login: actinia-org
- Kind: organization
- Website: https://actinia.mundialis.de
- Repositories: 22
- Profile: https://github.com/actinia-org
The geoprocessing platform actinia analyses large volumes of Earth-observation and geodata in the cloud. Repo overview at https://actinia-org.github.io/
GitHub Events
Total
- Release event: 2
- Watch event: 1
- Delete event: 6
- Push event: 10
- Pull request review comment event: 2
- Pull request review event: 5
- Pull request event: 11
- Fork event: 1
- Create event: 5
Last Year
- Release event: 2
- Watch event: 1
- Delete event: 6
- Push event: 10
- Pull request review comment event: 2
- Pull request review event: 5
- Pull request event: 11
- Fork event: 1
- Create event: 5
Dependencies
- actions/checkout v4 composite
- actions/setup-python v5 composite
- actions/checkout v4 composite
- actions/setup-python v5 composite
- softprops/action-gh-release v2 composite
- actions/checkout v4 composite
- docker/build-push-action v5 composite
- docker/setup-buildx-action v3 composite
- mundialis/actinia-core latest build
- mundialis/actinia-core latest build
- redis 5.0.4-alpine
- colorlog >=4.2.1