diff --git a/docs/Dockerfile b/docs/Dockerfile new file mode 100644 index 00000000..52e74714 --- /dev/null +++ b/docs/Dockerfile @@ -0,0 +1,32 @@ +FROM python:3.8-alpine + +# Set build directory +WORKDIR /tmp + +# Copy files necessary for build +# COPY material material +# COPY MANIFEST.in MANIFEST.in +# COPY package.json package.json +# COPY README.md README.md +COPY requirements.txt requirements.txt +# COPY setup.py setup.py + +# Perform build and cleanup artifacts +RUN apk add --no-cache \ + git curl \ + && apk add --no-cache --virtual .build gcc musl-dev \ + && pip install --user -r requirements.txt \ + && apk del .build gcc musl-dev \ + && rm -rf /tmp/* + +ENV PATH=$PATH:/root/.local/bin +# Set working directory + +WORKDIR /docs + +# Expose MkDocs development server port +EXPOSE 8000 + +# Start development server by default +ENTRYPOINT ["mkdocs"] +CMD ["serve", "--dev-addr=0.0.0.0:8000"] diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 00000000..5e037ca5 --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,14 @@ +DOCKER_IMAGE=taccaci/hazmapper-docs + +.PHONY: build +build: + docker build --rm -t $(DOCKER_IMAGE) . + +.PHONY: run +run: + docker run --rm -it -p 8000:8000 -v ${PWD}:/docs $(DOCKER_IMAGE) + +.PHONY: publish +publish: + docker push $(DOCKER_IMAGE) + diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 00000000..3dd4469f --- /dev/null +++ b/docs/README.md @@ -0,0 +1,7 @@ +# Running locally +``` +make build +make run +``` +Then navigate to `localhost:8000`. + diff --git a/docs/custom_theme/footer.html b/docs/custom_theme/footer.html new file mode 100644 index 00000000..c8b7f2f8 --- /dev/null +++ b/docs/custom_theme/footer.html @@ -0,0 +1,32 @@ + diff --git a/docs/docs/accessing.md b/docs/docs/accessing.md new file mode 100644 index 00000000..083ad519 --- /dev/null +++ b/docs/docs/accessing.md @@ -0,0 +1,18 @@ +# Accessing Hazmapper +To access Hazmapper from Designsafe, the user can first navigate to the top menu bar and find *Workspace* (*Fig 1.1*). + +
Fig 1.1
+ +From there, the user can hover on the *Workspace* section and select *Tools & Application* (*Fig 1.2*). + +
Fig 1.2
+ +From the *Tools & Applications* page, the user can navigate to *Hazmapper (2.0)* (*Fig 1.3*) and then *Launch Hazmapper* (*Fig 1.4*). + +
Fig 1.3
+ +
Fig 1.4
+ + + + diff --git a/docs/docs/assets.md b/docs/docs/assets.md new file mode 100644 index 00000000..2ffe7e38 --- /dev/null +++ b/docs/docs/assets.md @@ -0,0 +1,54 @@ +# Supported Asset Types + +## Map Associated Assets +### Media Assets +Currently, we support the following media assets. +Note that these assets must have geospatial data (lat/lon) for Hazmapper to properly process and handle them. +If the image is problematic, Hazmapper should show an error during the import process. + +- Image Assets: +jpeg, jpg, png + +- Video Assets: +mp4, mov, mpeg4, webm + +- GeoJSON/Shapefiles + + +### Point Cloud Assets +Point cloud assets are represented as bounding boxes showing their respective geographic locations. + +They can be analyzed further through the Potree Viewer, which shows a 3D model of the point cloud. + +### Imported Streetview Assets +These are imported versions of mapillary streetview assets and bound to the map (different from [non-imported streetview assets](assets.md#non-imported-streetview-assets) shown and accessed through the [Streetview panel](interface.md#streetview-panel)). + +Thus, they can be shared among users of the map and with those who have access to the public link map if the map has a public version. + +### Tile Layers +These are tile layers from an external tile server. They are managed through the [Layers panel](interface.md#layers-panel). + +Currently, supported formats are: + +- TMS +- WMS +- ArcGIS Tile Server +- `.ini` file containing tms/wms information +- Formats accessible through [Quick Map Services](https://qms.nextgis.com/) + +**NOTE**: *Tile layers are not regular Feature Assets (i.e. they do not show up in the assets panel), but they are part of the map and can be shared among collaborators and those with access to the public version of the map.* + + + + + + + + + + +## Third-party Assets + +### Non-imported Streetview Assets +These are supported through a Mapillary's tile service. Because these are user-dependent services, they cannot be shared among users of a map. Thus, they must be [imported](interface.md#importing-streetview-assets) as [imported streetview assets](interface.md#imported-streetview-assets) + diff --git a/docs/docs/collaboration.md b/docs/docs/collaboration.md new file mode 100644 index 00000000..550aa973 --- /dev/null +++ b/docs/docs/collaboration.md @@ -0,0 +1,11 @@ +# Collaboration + +## Shared Maps +As briefly mentioned in the [Maps](maps.md) section, maps that are saved in the DesignSafe project will be shared among the [members of the project](interface.md#members-tab). +These maps will automatically display in the [welcome menu](interface.md#welcome-menu). +Because of the connection, the addition/deletion of members is also managed by each corresponding DesignSafe project. + +## Public Maps +Any map can have a public version of the map through the [public tab of the manage panel](interface.md#public-tab). The generated link will be permanent unless the owner of the map makes the map private, or unless the owner of the map deletes the original map. + + diff --git a/docs/docs/img/assets-import-prompt.png b/docs/docs/img/assets-import-prompt.png new file mode 100644 index 00000000..13690073 Binary files /dev/null and b/docs/docs/img/assets-import-prompt.png differ diff --git a/docs/docs/img/assets-panel-full.png b/docs/docs/img/assets-panel-full.png new file mode 100644 index 00000000..417afa7c Binary files /dev/null and b/docs/docs/img/assets-panel-full.png differ diff --git a/docs/docs/img/assets-panel-import.png b/docs/docs/img/assets-panel-import.png new file mode 100644 index 00000000..4f247dea Binary files /dev/null and b/docs/docs/img/assets-panel-import.png differ diff --git a/docs/docs/img/assets-panel.png b/docs/docs/img/assets-panel.png new file mode 100644 index 00000000..c1c5788a Binary files /dev/null and b/docs/docs/img/assets-panel.png differ diff --git a/docs/docs/img/control-bar.png b/docs/docs/img/control-bar.png new file mode 100644 index 00000000..9b2c2757 Binary files /dev/null and b/docs/docs/img/control-bar.png differ diff --git a/docs/docs/img/designsafe-launch.png b/docs/docs/img/designsafe-launch.png new file mode 100644 index 00000000..78af7053 Binary files /dev/null and b/docs/docs/img/designsafe-launch.png differ diff --git a/docs/docs/img/designsafe-menu.png b/docs/docs/img/designsafe-menu.png new file mode 100644 index 00000000..82ca74a3 Binary files /dev/null and b/docs/docs/img/designsafe-menu.png differ diff --git a/docs/docs/img/designsafe-save.png b/docs/docs/img/designsafe-save.png new file mode 100644 index 00000000..a67af75b Binary files /dev/null and b/docs/docs/img/designsafe-save.png differ diff --git a/docs/docs/img/designsafe-toolbar.png b/docs/docs/img/designsafe-toolbar.png new file mode 100644 index 00000000..f9c5dcdd Binary files /dev/null and b/docs/docs/img/designsafe-toolbar.png differ diff --git a/docs/docs/img/designsafe-tools.png b/docs/docs/img/designsafe-tools.png new file mode 100644 index 00000000..cd7dbe57 Binary files /dev/null and b/docs/docs/img/designsafe-tools.png differ diff --git a/docs/docs/img/filters-panel.png b/docs/docs/img/filters-panel.png new file mode 100644 index 00000000..745266f3 Binary files /dev/null and b/docs/docs/img/filters-panel.png differ diff --git a/docs/docs/img/layers-panel-add.png b/docs/docs/img/layers-panel-add.png new file mode 100644 index 00000000..9de9f433 Binary files /dev/null and b/docs/docs/img/layers-panel-add.png differ diff --git a/docs/docs/img/layers-panel-added.png b/docs/docs/img/layers-panel-added.png new file mode 100644 index 00000000..2a3baf95 Binary files /dev/null and b/docs/docs/img/layers-panel-added.png differ diff --git a/docs/docs/img/layers-panel-modified.png b/docs/docs/img/layers-panel-modified.png new file mode 100644 index 00000000..7983190f Binary files /dev/null and b/docs/docs/img/layers-panel-modified.png differ diff --git a/docs/docs/img/layers-panel-options.png b/docs/docs/img/layers-panel-options.png new file mode 100644 index 00000000..e652d798 Binary files /dev/null and b/docs/docs/img/layers-panel-options.png differ diff --git a/docs/docs/img/layers-panel.png b/docs/docs/img/layers-panel.png new file mode 100644 index 00000000..25b1aeb7 Binary files /dev/null and b/docs/docs/img/layers-panel.png differ diff --git a/docs/docs/img/layers-prompt-ini.png b/docs/docs/img/layers-prompt-ini.png new file mode 100644 index 00000000..b5b317b2 Binary files /dev/null and b/docs/docs/img/layers-prompt-ini.png differ diff --git a/docs/docs/img/layers-prompt-manual.png b/docs/docs/img/layers-prompt-manual.png new file mode 100644 index 00000000..a7261cfd Binary files /dev/null and b/docs/docs/img/layers-prompt-manual.png differ diff --git a/docs/docs/img/layers-prompt-qms.png b/docs/docs/img/layers-prompt-qms.png new file mode 100644 index 00000000..c96b1e7f Binary files /dev/null and b/docs/docs/img/layers-prompt-qms.png differ diff --git a/docs/docs/img/layers-prompt-suggestions.png b/docs/docs/img/layers-prompt-suggestions.png new file mode 100644 index 00000000..2effa139 Binary files /dev/null and b/docs/docs/img/layers-prompt-suggestions.png differ diff --git a/docs/docs/img/manage-panel-map.png b/docs/docs/img/manage-panel-map.png new file mode 100644 index 00000000..826a2119 Binary files /dev/null and b/docs/docs/img/manage-panel-map.png differ diff --git a/docs/docs/img/manage-panel-members.png b/docs/docs/img/manage-panel-members.png new file mode 100644 index 00000000..03d0bd9a Binary files /dev/null and b/docs/docs/img/manage-panel-members.png differ diff --git a/docs/docs/img/manage-panel-public-private.png b/docs/docs/img/manage-panel-public-private.png new file mode 100644 index 00000000..da04a60e Binary files /dev/null and b/docs/docs/img/manage-panel-public-private.png differ diff --git a/docs/docs/img/manage-panel-public.png b/docs/docs/img/manage-panel-public.png new file mode 100644 index 00000000..372c75c9 Binary files /dev/null and b/docs/docs/img/manage-panel-public.png differ diff --git a/docs/docs/img/manage-panel-save.png b/docs/docs/img/manage-panel-save.png new file mode 100644 index 00000000..2e4c6b7c Binary files /dev/null and b/docs/docs/img/manage-panel-save.png differ diff --git a/docs/docs/img/manage-public-link.png b/docs/docs/img/manage-public-link.png new file mode 100644 index 00000000..bfb4a34f Binary files /dev/null and b/docs/docs/img/manage-public-link.png differ diff --git a/docs/docs/img/map-creation-1.png b/docs/docs/img/map-creation-1.png new file mode 100644 index 00000000..2fc34d16 Binary files /dev/null and b/docs/docs/img/map-creation-1.png differ diff --git a/docs/docs/img/map-creation-2.png b/docs/docs/img/map-creation-2.png new file mode 100644 index 00000000..81541a42 Binary files /dev/null and b/docs/docs/img/map-creation-2.png differ diff --git a/docs/docs/img/map-panel.png b/docs/docs/img/map-panel.png new file mode 100644 index 00000000..5301fa1b Binary files /dev/null and b/docs/docs/img/map-panel.png differ diff --git a/docs/docs/img/map-point-cloud-click.png b/docs/docs/img/map-point-cloud-click.png new file mode 100644 index 00000000..a3e6899f Binary files /dev/null and b/docs/docs/img/map-point-cloud-click.png differ diff --git a/docs/docs/img/map-point-cloud.png b/docs/docs/img/map-point-cloud.png new file mode 100644 index 00000000..09a65768 Binary files /dev/null and b/docs/docs/img/map-point-cloud.png differ diff --git a/docs/docs/img/map-points.png b/docs/docs/img/map-points.png new file mode 100644 index 00000000..a0205061 Binary files /dev/null and b/docs/docs/img/map-points.png differ diff --git a/docs/docs/img/map-polygon-info.png b/docs/docs/img/map-polygon-info.png new file mode 100644 index 00000000..5413bb5c Binary files /dev/null and b/docs/docs/img/map-polygon-info.png differ diff --git a/docs/docs/img/map-polygon.png b/docs/docs/img/map-polygon.png new file mode 100644 index 00000000..b8e46387 Binary files /dev/null and b/docs/docs/img/map-polygon.png differ diff --git a/docs/docs/img/map-start.png b/docs/docs/img/map-start.png new file mode 100644 index 00000000..0e1afa41 Binary files /dev/null and b/docs/docs/img/map-start.png differ diff --git a/docs/docs/img/map-streetview-asset-empty.png b/docs/docs/img/map-streetview-asset-empty.png new file mode 100644 index 00000000..cd74c29a Binary files /dev/null and b/docs/docs/img/map-streetview-asset-empty.png differ diff --git a/docs/docs/img/map-streetview-asset-viewer.png b/docs/docs/img/map-streetview-asset-viewer.png new file mode 100644 index 00000000..2f2fd82f Binary files /dev/null and b/docs/docs/img/map-streetview-asset-viewer.png differ diff --git a/docs/docs/img/map-streetview-asset.png b/docs/docs/img/map-streetview-asset.png new file mode 100644 index 00000000..4e3e2724 Binary files /dev/null and b/docs/docs/img/map-streetview-asset.png differ diff --git a/docs/docs/img/map-streetview-mapillary-asset-info.png b/docs/docs/img/map-streetview-mapillary-asset-info.png new file mode 100644 index 00000000..3a57fb65 Binary files /dev/null and b/docs/docs/img/map-streetview-mapillary-asset-info.png differ diff --git a/docs/docs/img/map-streetview-mapillary-asset.png b/docs/docs/img/map-streetview-mapillary-asset.png new file mode 100644 index 00000000..42540332 Binary files /dev/null and b/docs/docs/img/map-streetview-mapillary-asset.png differ diff --git a/docs/docs/img/menu-buttons.png b/docs/docs/img/menu-buttons.png new file mode 100644 index 00000000..5f822530 Binary files /dev/null and b/docs/docs/img/menu-buttons.png differ diff --git a/docs/docs/img/menu-selected.png b/docs/docs/img/menu-selected.png new file mode 100644 index 00000000..af510f75 Binary files /dev/null and b/docs/docs/img/menu-selected.png differ diff --git a/docs/docs/img/menu.png b/docs/docs/img/menu.png new file mode 100644 index 00000000..561298aa Binary files /dev/null and b/docs/docs/img/menu.png differ diff --git a/docs/docs/img/point-clouds-import-prompt.png b/docs/docs/img/point-clouds-import-prompt.png new file mode 100644 index 00000000..cfa25cb4 Binary files /dev/null and b/docs/docs/img/point-clouds-import-prompt.png differ diff --git a/docs/docs/img/point-clouds-panel-add-asset.png b/docs/docs/img/point-clouds-panel-add-asset.png new file mode 100644 index 00000000..3351d8f6 Binary files /dev/null and b/docs/docs/img/point-clouds-panel-add-asset.png differ diff --git a/docs/docs/img/point-clouds-panel-add.png b/docs/docs/img/point-clouds-panel-add.png new file mode 100644 index 00000000..07b1a363 Binary files /dev/null and b/docs/docs/img/point-clouds-panel-add.png differ diff --git a/docs/docs/img/point-clouds-panel-empty.png b/docs/docs/img/point-clouds-panel-empty.png new file mode 100644 index 00000000..aea81466 Binary files /dev/null and b/docs/docs/img/point-clouds-panel-empty.png differ diff --git a/docs/docs/img/point-clouds-panel-with-object.png b/docs/docs/img/point-clouds-panel-with-object.png new file mode 100644 index 00000000..fc49823d Binary files /dev/null and b/docs/docs/img/point-clouds-panel-with-object.png differ diff --git a/docs/docs/img/point-clouds-panel.png b/docs/docs/img/point-clouds-panel.png new file mode 100644 index 00000000..8de3ac13 Binary files /dev/null and b/docs/docs/img/point-clouds-panel.png differ diff --git a/docs/docs/img/point-clouds-potree.png b/docs/docs/img/point-clouds-potree.png new file mode 100644 index 00000000..448b1e4d Binary files /dev/null and b/docs/docs/img/point-clouds-potree.png differ diff --git a/docs/docs/img/point-clouds-prompt.png b/docs/docs/img/point-clouds-prompt.png new file mode 100644 index 00000000..a01de3d1 Binary files /dev/null and b/docs/docs/img/point-clouds-prompt.png differ diff --git a/docs/docs/img/public-map.png b/docs/docs/img/public-map.png new file mode 100644 index 00000000..d47d0836 Binary files /dev/null and b/docs/docs/img/public-map.png differ diff --git a/docs/docs/img/streetview-association.png b/docs/docs/img/streetview-association.png new file mode 100644 index 00000000..3c9939c3 Binary files /dev/null and b/docs/docs/img/streetview-association.png differ diff --git a/docs/docs/img/streetview-imported-assets.png b/docs/docs/img/streetview-imported-assets.png new file mode 100644 index 00000000..d0bdb358 Binary files /dev/null and b/docs/docs/img/streetview-imported-assets.png differ diff --git a/docs/docs/img/streetview-linked-assets.png b/docs/docs/img/streetview-linked-assets.png new file mode 100644 index 00000000..216a0857 Binary files /dev/null and b/docs/docs/img/streetview-linked-assets.png differ diff --git a/docs/docs/img/streetview-login-1.png b/docs/docs/img/streetview-login-1.png new file mode 100644 index 00000000..432769e4 Binary files /dev/null and b/docs/docs/img/streetview-login-1.png differ diff --git a/docs/docs/img/streetview-login-mapillary-auth.png b/docs/docs/img/streetview-login-mapillary-auth.png new file mode 100644 index 00000000..a54e2223 Binary files /dev/null and b/docs/docs/img/streetview-login-mapillary-auth.png differ diff --git a/docs/docs/img/streetview-login-organization-1.png b/docs/docs/img/streetview-login-organization-1.png new file mode 100644 index 00000000..eb567eb5 Binary files /dev/null and b/docs/docs/img/streetview-login-organization-1.png differ diff --git a/docs/docs/img/streetview-login-organization.png b/docs/docs/img/streetview-login-organization.png new file mode 100644 index 00000000..93b01e32 Binary files /dev/null and b/docs/docs/img/streetview-login-organization.png differ diff --git a/docs/docs/img/streetview-login-user.png b/docs/docs/img/streetview-login-user.png new file mode 100644 index 00000000..8c2e1fa1 Binary files /dev/null and b/docs/docs/img/streetview-login-user.png differ diff --git a/docs/docs/img/streetview-mapillary-asset-info-link.png b/docs/docs/img/streetview-mapillary-asset-info-link.png new file mode 100644 index 00000000..7205660f Binary files /dev/null and b/docs/docs/img/streetview-mapillary-asset-info-link.png differ diff --git a/docs/docs/img/streetview-mapillary-asset-info.png b/docs/docs/img/streetview-mapillary-asset-info.png new file mode 100644 index 00000000..3c2204e7 Binary files /dev/null and b/docs/docs/img/streetview-mapillary-asset-info.png differ diff --git a/docs/docs/img/streetview-mapillary-organization-key.png b/docs/docs/img/streetview-mapillary-organization-key.png new file mode 100644 index 00000000..256f730c Binary files /dev/null and b/docs/docs/img/streetview-mapillary-organization-key.png differ diff --git a/docs/docs/img/streetview-mapillary-user-1.png b/docs/docs/img/streetview-mapillary-user-1.png new file mode 100644 index 00000000..b14b869c Binary files /dev/null and b/docs/docs/img/streetview-mapillary-user-1.png differ diff --git a/docs/docs/img/streetview-mapillary-user-2.png b/docs/docs/img/streetview-mapillary-user-2.png new file mode 100644 index 00000000..3233388b Binary files /dev/null and b/docs/docs/img/streetview-mapillary-user-2.png differ diff --git a/docs/docs/img/streetview-mapillary-user-organization.png b/docs/docs/img/streetview-mapillary-user-organization.png new file mode 100644 index 00000000..0ebad7b9 Binary files /dev/null and b/docs/docs/img/streetview-mapillary-user-organization.png differ diff --git a/docs/docs/img/streetview-panel-1-all.png b/docs/docs/img/streetview-panel-1-all.png new file mode 100644 index 00000000..92312ca9 Binary files /dev/null and b/docs/docs/img/streetview-panel-1-all.png differ diff --git a/docs/docs/img/streetview-panel-1-buttons.png b/docs/docs/img/streetview-panel-1-buttons.png new file mode 100644 index 00000000..c136b288 Binary files /dev/null and b/docs/docs/img/streetview-panel-1-buttons.png differ diff --git a/docs/docs/img/streetview-panel-1-display.png b/docs/docs/img/streetview-panel-1-display.png new file mode 100644 index 00000000..1af1818f Binary files /dev/null and b/docs/docs/img/streetview-panel-1-display.png differ diff --git a/docs/docs/img/streetview-panel-1-publish.png b/docs/docs/img/streetview-panel-1-publish.png new file mode 100644 index 00000000..df45697d Binary files /dev/null and b/docs/docs/img/streetview-panel-1-publish.png differ diff --git a/docs/docs/img/streetview-panel-1.png b/docs/docs/img/streetview-panel-1.png new file mode 100644 index 00000000..6fceca90 Binary files /dev/null and b/docs/docs/img/streetview-panel-1.png differ diff --git a/docs/docs/img/streetview-panel-account.png b/docs/docs/img/streetview-panel-account.png new file mode 100644 index 00000000..5f6e2de0 Binary files /dev/null and b/docs/docs/img/streetview-panel-account.png differ diff --git a/docs/docs/img/streetview-panel-assets-no-display.png b/docs/docs/img/streetview-panel-assets-no-display.png new file mode 100644 index 00000000..2a3b1dd4 Binary files /dev/null and b/docs/docs/img/streetview-panel-assets-no-display.png differ diff --git a/docs/docs/img/streetview-panel-assets.png b/docs/docs/img/streetview-panel-assets.png new file mode 100644 index 00000000..ddc8cd0e Binary files /dev/null and b/docs/docs/img/streetview-panel-assets.png differ diff --git a/docs/docs/img/streetview-panel-filter.png b/docs/docs/img/streetview-panel-filter.png new file mode 100644 index 00000000..ca94252c Binary files /dev/null and b/docs/docs/img/streetview-panel-filter.png differ diff --git a/docs/docs/img/streetview-panel-log-progress.png b/docs/docs/img/streetview-panel-log-progress.png new file mode 100644 index 00000000..b6392b4a Binary files /dev/null and b/docs/docs/img/streetview-panel-log-progress.png differ diff --git a/docs/docs/img/streetview-panel-log.png b/docs/docs/img/streetview-panel-log.png new file mode 100644 index 00000000..6336b145 Binary files /dev/null and b/docs/docs/img/streetview-panel-log.png differ diff --git a/docs/docs/img/streetview-publish-prompt.png b/docs/docs/img/streetview-publish-prompt.png new file mode 100644 index 00000000..f3918faf Binary files /dev/null and b/docs/docs/img/streetview-publish-prompt.png differ diff --git a/docs/docs/img/streetview-sequence-info-link.png b/docs/docs/img/streetview-sequence-info-link.png new file mode 100644 index 00000000..acc4f04e Binary files /dev/null and b/docs/docs/img/streetview-sequence-info-link.png differ diff --git a/docs/docs/img/streetview-sequence-info.png b/docs/docs/img/streetview-sequence-info.png new file mode 100644 index 00000000..56c71428 Binary files /dev/null and b/docs/docs/img/streetview-sequence-info.png differ diff --git a/docs/docs/index.md b/docs/docs/index.md new file mode 100644 index 00000000..11a00977 --- /dev/null +++ b/docs/docs/index.md @@ -0,0 +1 @@ +# Hazmapper User Guide diff --git a/docs/docs/interface.md b/docs/docs/interface.md new file mode 100644 index 00000000..f8bdf79c --- /dev/null +++ b/docs/docs/interface.md @@ -0,0 +1,434 @@ +# Interface Overview + +## Welcome Menu + +The welcome menu is the first interface that the user will see. This menu lists all of the [maps](maps.md) that are tied to the user either from [creating the map](#project-creation-prompt) or from a [shared map](collaboration.md#shared-maps) (*Fig 2.1*). + + +The header of the menu displays the name of the map and the DesignSafe project that it is saved in. If it is saved to the Data Depot, it will show a `----------`. + +On the rightmost side of the header is the *Create a New Map* button, which opens the [map creation prompt](#project-creation-prompt). + + +The icons on the right side of each map item are *edit* and *delete* . + +To access a map, the user can either click on a map item or click on the *edit* button. To delete a map, the user can click on the *delete* button of a map. + +
Fig 2.1
+ + +## Map Creation Prompt +Clicking on the *Create a New Map* button from the [welcome menu](#welcome-menu) (*Fig 2.2*) will open the project creation prompt. This prompt will guide the user through options needed to create a map. + +
Fig 2.2
+ +First, the user is required to give the map a name and a description. + +Once the user selects the name and description, unless manually specified, the map will be saved to a file with the same name as the map name with a `.hazmapper` extension. + +Next, by browsing through the file browser, the user can select a location in the DesignSafe Data Depot the map will be saved to. + +For clarity, the selected location will be displayed in the *Save Location* section. + + +Finally, the user is given the option to sync the folder through the *Sync Folder* checkbox. + +This will make the created map a [syncing map](maps.md#syncing-map). + +Once you create a map or select a map from the welcome menu, you will see the following interface. + +
Fig 2.3
+ + +## Title bar + +We will start the overview of the map interface by first looking at the title bar section of the interface. + +Starting from the left to right, we can see a left arrow button . +Clicking on this button will bring the user back to the welcome menu we looked into in the previous section. + +The next part of the title bar is the name of the map with the associated DesignSafe Project if it exists. + +The last part of the title bar is the latitude and longitude coordinates indicating the location of the mouse cursor when hovering on the map. + +
Fig 2.4
+ + +## Panels + +Next, we will take a look at the panel interface of Hazmapper. + +Panels are the primary interface a user can interact with the map and handle [assets](assets.md) on the map. + +
Fig 2.5
+ +### Assets Panel +The assets panel is the hub of all of the [map-associated feature assets](assets.md#map-associated-assets). Here users can add, view, and delete each asset. + + + +By clicking on *Import from DesignSafe*, users can open the import prompt (*Fig 2.6*) and add appropriate files from DesignSafe Data Depot (My Data, Projects, Community Data, Published Data). + +
Fig 2.6
+ + + +
Fig 2.7
+ +**NOTE**: *The file browser works like the file browsers on our computers. `Shift-Click` allows the user to select multiple items. And `Control-Click` (only on Windows) allows the user to select multiple assets without losing the previous selection.* + + + +Once imported, the selected assets will be listed inside the panel. +A user can click on each asset to jump to the asset location on the map or to get the metadata associated with the asset. + +
Fig 2.8
+ + + +**NOTE**: *Unless imported from the top-level (i.e. in the root of the folder), image, video, streetview assets will show up in the folders they are located in. On the other hand, point-cloud assets will always display at the root of the asset tree.* + +### Point Clouds Panel +This panel allows users to create point cloud objects that associate point clouds assets (las or laz). + + +**Note**: *Once the assets are attached they will show up in the [Assets Panel](#assets-panel)*. + +
Fig 2.9
+ + +The user can open the point cloud creation prompt by clicking on the *Add* button. + + +In the point cloud creation prompt, the user is required to create a *Description* for the point cloud object (This will be the name displayed in the assets panel as well). After that, by clicking on the *Submit* button, the user can create a point cloud object. + +
Fig 2.10
+ + +Once created, the point cloud object with be shown in the panel. + +Now, the user can add a point cloud asset (las or laz), delete the point cloud object, or view the object information. + +To add a point cloud asset to the point cloud object, the user must click on the *Add las/laz* button. + +
Fig 2.11
+ + +This will open a file browser, similar to the one used to [import assets](#file-browser) in the assets panel. + +From the file browser, the user must select either a **las** or **laz** file and click *Import*. + +
Fig 2.12
+ + +The import process will take a while depending on the size of the point cloud file. However, once imported, the asset should show up on the *Assets* panel and the map (as a bounding box covering the extent of the point cloud). + +If the user clicks on the *View* button on the information box, the Potree Viewer will open. + +
Fig 2.13
+ + +The Potree Viewer can be used for further analysis of the point cloud. + +The URL to the Potree Viewer created for the asset will be permanent as long as the asset exists. Furthermore, this can be shared with other researchers. + +
Fig 2.14
+ + + + +### Layers Panel +Using this panel users can select, create, edit, or delete tile layers. +By default, the user will see the Satellite and Roads basemap layers. + +Additionally, users can create an overlay image for the map. This means, given a jpg image with their geospatial coordinates, users can select the bounding coordinates and place the raster data on the map. + +By default, the **Roads** and **Satellite** base layers will be added and enabled. + +
Fig 2.15
+ + +To add more layers, the user must click on the button directly under *Tile Layers*. + +This will open the tile layer creation prompt. + +The default layers (**Roads**, **Satellites**) can be added directly in the case that the user deletes the default layers. + +Otherwise, the user can choose among the [supported tile layer formats](assets.md#supported-tile-formats) as the *Import Method*. + +
Fig 2.16
+ + +The **Manual** import method will have additional prompts that each tile layer type method requires. + +
Fig 2.17
+ + +The **INI file** import method will show a file browser similar to the one used to [import assets](#file-browser). + +Here the user must select a `.ini` file containing the required tile layer data. + +
Fig 2.18
+ + +The **QMS Search** import method utilizes [Quick Map Services](https://qms.nextgis.com/) to search for various tile layers and add them to the map. + +
Fig 2.19
+ + +Once the user creates the tile layer, it will show up on the layers panel. + +
Fig 2.20
+ + +Each tile layer has controls to rename, toggle visibility, change the opacity, and delete. + +If the user desires to preserve the changed options for collaborators or those with access to the [public version of the map](maps.md#public-map), the user must click on the *Save Layer Options* button. + +
Fig 2.21
+ + +### Filters Panel +Displayed assets can be filtered based on type (Images, Videos, Point Clouds, Converted Streetview, Non-asset Features) under this panel. + +**NOTE**: *Currently the date range filter is a placeholder that will be implemented in the future.* + +
Fig 2.22
+ + +### Streetview Panel +The streetview panel provides streetview functionality through an external service called [Mapillary](https://www.mapillary.com/). + +Because we rely on this external service, much of the functionality is catered to how the service works. Furthermore, there is some jargon accompanied by the functionality. + +#### Mapillary Overview +Mapillary is a service that allows its users to import streetview imagery to view through their app. +They also expose a tile-based API that allows other apps to integrate with their services. + +##### Terminology +- *Organization*: ([mapillary documentation](https://help.mapillary.com/hc/en-us/articles/360016036931-Mapillary-for-Organizations-getting-started)) +This is somewhat like a shared account in Mapillary that can be accessed by multiple individual users to collaborate. Any user with access to an organization can upload streetview assets through it. +We have a constraint in our upload workflow to enforce users to upload to a target organization and not their accounts. Thus, users can only work with assets through organizations and not from their personal Mapillary account. + +- *Sequence*: ([mapillary documentation](https://help.mapillary.com/hc/en-us/articles/115001724849-Sequences-on-the-Mapillary-Web-App)) +This is a unit of a collection of streetview images that Mapillary uses to organize their assets with a max size of 500 images. +During upload, if the selected folder is more than 500 images, Mapillary will split the assets being uploaded into multiple sequences. +Thus, a folder can be linked with multiple sequences. + +- *Processing*: ([mapillary documentation](https://blog.mapillary.com/update/2018/04/19/accurate-privacy-blurring-at-scale.html)) +This is a step in the upload process that takes place on the Mapillary side. +Once all the data is transferred, Mapillary processes the images so that faces and car plates are blurred for privacy concerns. +Thus, it will take some time after all the transferring (depending on how many images are uploaded at the same time). + +##### Logging in to Mapillary + +To start using streetview assets with Mapillary, the user must log in to Mapillary. + +**NOTE**: *If a user is not registered to log in, one can create an account at the [site](https://www.mapillary.com/signup) before proceeding.* + +From the *Streetview* panel, the user can access the *Login to Mapillary* button. + +
Fig 2.23
+ + +This will redirect the user to an external login page. + +
Fig 2.24
+ + +Once authorized from the external site, the user must provide Hazmapper a Mapillary *username* and at least one *organization key* of an organization. + + +
Fig 2.25
+ +
Fig 2.26
+ + +These can be acquired through the [Mapillary dashboard](https://www.mapillary.com/dashboard/profile). + +Here, the user will see the *username* in the top-left panel (*Fig 2.27*). + +In order. to find the *organization key*, the user must switch to a organization account (*Fig 2.28*). + +
Fig 2.27
+ + +
Fig 2.28
+ + +
Fig 2.29
+ + +
Fig 2.30
+ + +If a user adds a correct organization key, Hazmapper will automatically add the organization to the *Streetview* panel with the organization name. So, users can verify that they've added the correct organization key. + +
Fig 2.31
+ + +#### Display Mapillary Sequences + +This will display all of the [mapillary assets](#mapillary-assets) of a selected organization in the [filters tab](#filters-tab). + +
Fig 2.32
+ + +#### Publish Button +This allows the user to upload and publish images from DesignSafe to Mapillary. During the process, the images are linked to hazmapper. + +**NOTE**: *The assets published here will be imported as [mapillary assets](#mapillary-assets)* + +
Fig 2.33
+ + +On clicking the *Publish* button, the user will see a prompt that asks for the user to select streetview images (images that support [GPano panorama metadata](https://developers.google.com/streetview/spherical-metadata)) + +
Fig 2.34
+ +#### Tabs +##### Assets Tab + +This tab will all of the [linked mapillary assets](#linked-mapillary-assets). On clicking on the asset, the prompt will display the [mapillary sequences](#mapillary-terminology) associated with a system/path. + +
Fig 2.35
+ +In this interface (*Fig 2.36*), the user can: + +1. [Import the streetview assets to the map](assets.md#imported-streetview-assets) (). +2. Jump to the sequence in the map. +3. Delete the sequence's association with Hazmapper (). + +
Fig 2.36
+ + + +##### Log Tab + +The *Publish* process prompted by the user submitting a [publish job](#streetview-publish) requires the images to be first collected from DesignSafe and then published to Mapillary. + +This tab shows a list of the progress of active publish processes. + +
Fig 2.37
+ + +##### Filters Tab + +The interface of the *Filters tab* is similar to that of the [Filters panel](#filters-panel). However, instead of filtering based on a date range or asset type, this will filter by the organizations that a user added (either on login or through the [account tab](#account-tab)). + +
Fig 2.38
+ + + +##### Account Tab + +The account tab is where the user can view and modify the mapillary account information associated with Hazmapper. + +The *Logout* button will log the user out of the current account. + +The *Change Username* and *Manage Organization* buttons will each open a prompt similar to the one the user sees on [login](#streetview-login-username). They allow the user to modify the account information associated with Mapillary. + +The *Delete Streetview Service* button will delete all of the associations created through [publish](#streetview-publish) or [link](#mapillary-link). This operation cannot be reverted! So, the user must be extremely cautious before proceeding. This functionality was implemented so that if the user desires, the user could destroy all of the Mapillary information stored in Hazmapper. + +**NOTE**: *Changes here will not affect the actual Mapillary account. For example, changing the username will not change the actual Mapillary username but only change the username that Hazmapper keeps track of.* + +
Fig 2.39
+ + + +#### Streetview Assets + +The streetview support in Hazmapper comes with different asset components. + +First, there are some commonalities among the different asset components: + +- Right-clicking on the asset on the map will open an information panel on the (*Fig 2.40*) +- Left-clicking on the asset on the map will open the streetview viewer (*Fig 2.41*). +- The different types of assets will be displayed in different colors. +- The streetview assets will be displayed as a polyline on the map (*Fig 2.40*). + +
Fig 2.40
+ +
Fig 2.41
+ +##### Mapillary assets + +Because the Mapillary account is tied to an individual user, Mapillary assets are *not* part of the map itself. Thus, they will not be shown across members of the map and those with access to the [public version of the map](maps.md#public-map). + + +*Non-linked mapillary assets* + + +These are the assets under an [organization](#mapillary-terminology) that can be added through the [*Account*](#account-tab) or when [logging in](#mapillary-login) tab and can be filtered by organizations with the [*Filters*](#filters-tab) tab. The only association they have will be through the organization. + +They are displayed in this color: . + +To link the assets to Hazmapper, the user must right-click on the asset to open the info panel (*Fig 2.42*). From there, the user can click on the *Link sequences to Hazmapper* button. + +This will open a modal, in which the user can select a location to link the sequence asset to (*Fig 2.43*). + + + +
Fig 2.42
+ +
Fig 2.43
+ +*Linked mapillary assets* + +These are created either by manually adding a link from a [non-linked mapillary asset](#non-linked-mapillary-asset) or [publishing](#streetview-publish) streetview assets to Mapillary through Hazmapper. + +They are displayed in this color: . + +
Fig 2.44
+ +##### Imported streetview assets + +Although the user is required to log in to the Mapillary to utilize them, imported streetview assets *are* part of the map. Thus, unlike [mapillary assets](#mapillary-assets), they can be shared among the members of the map and with those with access to the [public version of the map](maps.md#public-map). + +They appear in the Hazmapper [assets panel](#assets-panel). + +They are displayed in this color: . + +
Fig 2.45
+ + + + + + +### Manage Panel +In this panel, the user can manage the configuration of the maps. + +#### Map Tab +The *Map* tab allows the user to edit the name/description of the map and delete the map. + +
Fig 2.46
+ + +#### Members Tab +The *Members* tab allows the user to view other users with access to the map (these will be managed by the linked [DesignSafe Project](https://www.designsafe-ci.org/rw/user-guides/data-curation-publication/#!#step1). + +
Fig 2.47
+ + +#### Map Tab +The *Public* tab allows the user to create a [public version of the map](maps.md#public-map) by creating a permanent link that can be shared with anyone. + (*Fig 2.48*). + +The public map will have access to all of the [map-associated assets](assets.md#map-associated-assets) (*Fig 2.49*). However, none of the editing functionality will be provided. + +After making the map public, the user can either click or copy the link. Furthermore, the user can revert the process and make the link private again (*Fig 2.50*). + +
Fig 2.48
+ +
Fig 2.49
+ +
Fig 2.50
+ + + +#### Save Tab +The *Save* tab shows where the map is saved within DesignSafe's Data Depot. If saved to a DesignSafe project, it will display the corresponding project information. + +
Fig 2.51
+ diff --git a/docs/docs/introduction.md b/docs/docs/introduction.md new file mode 100644 index 00000000..6c7a6f34 --- /dev/null +++ b/docs/docs/introduction.md @@ -0,0 +1,5 @@ +# Introduction + +## Geospatial Application +DesignSafe HazMapper is a rich web-based application for visualizing and analyzing geospatial data ([assets](assets.md)). + diff --git a/docs/docs/maps.md b/docs/docs/maps.md new file mode 100644 index 00000000..a00d6379 --- /dev/null +++ b/docs/docs/maps.md @@ -0,0 +1,28 @@ +# Maps + +## Map (Project) +A map is the equivalent of projects in some apps (not to confuse with DesignSafe Projects). +They are the basic unit of work. + +When creating a new map, the user is required to save the map to a location in DesignSafe. +If saved in the Data Depot, the user creating the map will be the sole owner of the map with edit capabilities (import, delete, rename, etc). +Otherwise, if saved to a DesignSafe project location, the users of the project will also have the right to edit the map. + +If saved to a DesignSafe project, the DesignSafe project interface will also show this association. + +
Fig 3.1
+ +## Public Map +An owner of a map can create a "Public Map" by creating one in the Manage -> Public (tab) -> (icon) Make a public map. +The user can open the map by clicking on the generated link. +When clicking on the (icon) copy icon, the URL address of the public icon will be available. + +A public map is meant to be a permanent link to the project unless the project itself is deleted. +Thus, one must be careful of deleting the underlying project after sharing a link to the map. + +## Syncing Map +If the user checks the "Sync Folder" checkbox on creating the map, the map will sync all the assets from the chosen save location. +So, all the assets will be imported. Whatever asset the user import to the location from DesignSafe will automatically be imported. + +To check the discrepancies Hazmapper will start the import job periodically. + diff --git a/docs/docs/support.md b/docs/docs/support.md new file mode 100644 index 00000000..1bb3d119 --- /dev/null +++ b/docs/docs/support.md @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml new file mode 100644 index 00000000..7b7f5076 --- /dev/null +++ b/docs/mkdocs.yml @@ -0,0 +1,25 @@ +site_name: DesignSafe Hazmapper User Guide +site_description: Hazmapper User Guide + +nav: + - Introduction: introduction.md + - Accessing Hazmapper: accessing.md + - Interface Overview: interface.md + - Map Types: maps.md + - Supported Asset Types: assets.md + - Collaboration: collaboration.md + +last_updated: Last updated 06/27/2022 + +copyright: © Copyright 2022, Texas Advanced Computing Center, University of Texas. + +markdown_extensions: + - toc: + - tables: + +theme: + name: readthedocs + custom_dir: custom_theme/ + +plugins: + - search diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 00000000..41c39f89 --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1,10 @@ +mkdocs +mkdocs-bootswatch +mkdocs-material +mkdocs-material-extensions +fontawesome-markdown +pymdown-extensions +mdx_truly_sane_lists +mkdocs-git-revision-date-localized-plugin +mkdocs-git-revision-date-plugin +mkdocs-minify-plugin