Wiki » History » Version 44
Version 43 (Giulio Di Anastasio, 04/07/2020 16:43) → Version 44/46 (Giulio Di Anastasio, 14/09/2020 15:29)
h1. Software
Gisaf (for, eg, GIS Auroville Front-end) is a web application that is under development.
[[User manual]]
[[Server]]
[[Client]]
[[Stack]]
[[Mapbox]]
[[Font]]
[[Live]]
[[Performance]]
h2. Connection to server directly from CSR
To connect to the server directly without going through Aurinoco server, the correct url is
http://gis.csr.av
h2. Connection to Gisaf via QGis through WFS / OGC API
This works only on QGis from version 3.14.15 onward
In the browser, click on WFS/OGC API, then right-click to create a new connection
Give a name (e.g. OGC API Qgis Gisaf)
Give the url https://gis.auroville.org.in/ogcapi
Under the WFS Options box, on Version dropdown, the default option "Maximum" works just fine
Click on OK
The list of layers will appear in the Browser under WFS/OGC API.
h2. Database
Gisaf uses a Postgis database.
h3. Creation
To create an appropriate database, run these commands:
<pre>
createuser avgis -P
createdb avgis -O avgis
psql avgis -c "CREATE EXTENSION postgis;"
</pre>
h3. Notes
The geometry features' metadata MUST be set with the proper SRID, which can be tricky. See below.
h3. Import files
h2. Development
See the README file
h2. Build frontend (Angular)
Generating the build is straightforward:
<pre>
cd gisaf-app
ng build --prod
</pre>
For the record, there was a bug (Angular build or plotly), now fixed (https://github.com/plotly/angular-plotly.js/issues/15), that forced to build the web application (browser side) with:
<pre>
cd gisaf-app
ng build --prod --build-optimizer=false --vendor-chunk
</pre>
In practice, because the resources on the VM of the server are limited (memory), one might just build on the development machine (eg. my laptop) and rsync the @build@ directory.
h2. Plugins
Gisaf can load models in external plugins. See [[plugins]].
h2. Configuration
Short version: when the server starts, it reads the configuration from @/etc/gisaf/prod.yml@.
Longer version:
The configuration is found from (in order):
* @$HOME/.local/gisaf/prod.yml@
* @/etc/gisaf/prod.yml@
* @<gisaf_source_dir>/gisaf/default.yml@
The configuration files are relatively easy to understand, and grow with the development and list of features supported by Gisaf.
h3. Map
The default view of the map can be configured in the gisaf yaml config, eg:
<pre>
map:
openMapTilesKey: cS3lrAfYXoM4MDooT6aS
zoom: 14
pitch: 45
lat: 12.0000
lng: 79.8106
bearing: 0
style: OSM (vector)
opacity: 0.3
tilesUrl: /tiles/data/india-vector.json
</pre>
h3. Production
Gisaf reads the file @/etc/gisaf/prod.yml@ at boot.
h3. Development
Gisaf reads the @~/.gisaf/prod.yml@ file at boot.
h2. Third party
h3. TileServer
Serve the vector tiles for mapbox-gl locally: [[ TileServer ]]
Alternative: see #6907
Gisaf (for, eg, GIS Auroville Front-end) is a web application that is under development.
[[User manual]]
[[Server]]
[[Client]]
[[Stack]]
[[Mapbox]]
[[Font]]
[[Live]]
[[Performance]]
h2. Connection to server directly from CSR
To connect to the server directly without going through Aurinoco server, the correct url is
http://gis.csr.av
h2. Connection to Gisaf via QGis through WFS / OGC API
This works only on QGis from version 3.14.15 onward
In the browser, click on WFS/OGC API, then right-click to create a new connection
Give a name (e.g. OGC API Qgis Gisaf)
Give the url https://gis.auroville.org.in/ogcapi
Under the WFS Options box, on Version dropdown, the default option "Maximum" works just fine
Click on OK
The list of layers will appear in the Browser under WFS/OGC API.
h2. Database
Gisaf uses a Postgis database.
h3. Creation
To create an appropriate database, run these commands:
<pre>
createuser avgis -P
createdb avgis -O avgis
psql avgis -c "CREATE EXTENSION postgis;"
</pre>
h3. Notes
The geometry features' metadata MUST be set with the proper SRID, which can be tricky. See below.
h3. Import files
h2. Development
See the README file
h2. Build frontend (Angular)
Generating the build is straightforward:
<pre>
cd gisaf-app
ng build --prod
</pre>
For the record, there was a bug (Angular build or plotly), now fixed (https://github.com/plotly/angular-plotly.js/issues/15), that forced to build the web application (browser side) with:
<pre>
cd gisaf-app
ng build --prod --build-optimizer=false --vendor-chunk
</pre>
In practice, because the resources on the VM of the server are limited (memory), one might just build on the development machine (eg. my laptop) and rsync the @build@ directory.
h2. Plugins
Gisaf can load models in external plugins. See [[plugins]].
h2. Configuration
Short version: when the server starts, it reads the configuration from @/etc/gisaf/prod.yml@.
Longer version:
The configuration is found from (in order):
* @$HOME/.local/gisaf/prod.yml@
* @/etc/gisaf/prod.yml@
* @<gisaf_source_dir>/gisaf/default.yml@
The configuration files are relatively easy to understand, and grow with the development and list of features supported by Gisaf.
h3. Map
The default view of the map can be configured in the gisaf yaml config, eg:
<pre>
map:
openMapTilesKey: cS3lrAfYXoM4MDooT6aS
zoom: 14
pitch: 45
lat: 12.0000
lng: 79.8106
bearing: 0
style: OSM (vector)
opacity: 0.3
tilesUrl: /tiles/data/india-vector.json
</pre>
h3. Production
Gisaf reads the file @/etc/gisaf/prod.yml@ at boot.
h3. Development
Gisaf reads the @~/.gisaf/prod.yml@ file at boot.
h2. Third party
h3. TileServer
Serve the vector tiles for mapbox-gl locally: [[ TileServer ]]
Alternative: see #6907