Wiki » History » Version 45
Giulio Di Anastasio, 14/09/2020 15:30
1 | 3 | Philippe May | h1. Software |
---|---|---|---|
2 | 1 | Philippe May | |
3 | 15 | Philippe May | Gisaf (for, eg, GIS Auroville Front-end) is a web application that is under development. |
4 | 1 | Philippe May | |
5 | 27 | Philippe May | [[User manual]] |
6 | 2 | Philippe May | [[Server]] |
7 | 2 | Philippe May | [[Client]] |
8 | 1 | Philippe May | [[Stack]] |
9 | 15 | Philippe May | [[Mapbox]] |
10 | 41 | Philippe May | [[Font]] |
11 | 38 | Philippe May | [[Live]] |
12 | 37 | Philippe May | [[Performance]] |
13 | 3 | Philippe May | |
14 | 44 | Giulio Di Anastasio | |
15 | 7 | Philippe May | h2. Database |
16 | 7 | Philippe May | |
17 | 7 | Philippe May | Gisaf uses a Postgis database. |
18 | 1 | Philippe May | |
19 | 9 | Philippe May | h3. Creation |
20 | 9 | Philippe May | |
21 | 9 | Philippe May | To create an appropriate database, run these commands: |
22 | 9 | Philippe May | <pre> |
23 | 9 | Philippe May | createuser avgis -P |
24 | 9 | Philippe May | createdb avgis -O avgis |
25 | 9 | Philippe May | psql avgis -c "CREATE EXTENSION postgis;" |
26 | 9 | Philippe May | </pre> |
27 | 9 | Philippe May | |
28 | 9 | Philippe May | h3. Notes |
29 | 9 | Philippe May | |
30 | 7 | Philippe May | The geometry features' metadata MUST be set with the proper SRID, which can be tricky. See below. |
31 | 7 | Philippe May | |
32 | 3 | Philippe May | h3. Import files |
33 | 5 | Philippe May | |
34 | 16 | Philippe May | |
35 | 8 | Philippe May | h2. Development |
36 | 8 | Philippe May | |
37 | 8 | Philippe May | See the README file |
38 | 22 | Philippe May | |
39 | 35 | Philippe May | h2. Build frontend (Angular) |
40 | 35 | Philippe May | |
41 | 1 | Philippe May | |
42 | 39 | Philippe May | Generating the build is straightforward: |
43 | 39 | Philippe May | |
44 | 1 | Philippe May | <pre> |
45 | 35 | Philippe May | cd gisaf-app |
46 | 39 | Philippe May | ng build --prod |
47 | 36 | Philippe May | </pre> |
48 | 36 | Philippe May | |
49 | 39 | Philippe May | 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: |
50 | 36 | Philippe May | |
51 | 1 | Philippe May | <pre> |
52 | 1 | Philippe May | cd gisaf-app |
53 | 39 | Philippe May | ng build --prod --build-optimizer=false --vendor-chunk |
54 | 36 | Philippe May | </pre> |
55 | 39 | Philippe May | |
56 | 39 | Philippe May | 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. |
57 | 35 | Philippe May | |
58 | 34 | Philippe May | h2. Plugins |
59 | 34 | Philippe May | |
60 | 34 | Philippe May | Gisaf can load models in external plugins. See [[plugins]]. |
61 | 34 | Philippe May | |
62 | 22 | Philippe May | h2. Configuration |
63 | 22 | Philippe May | |
64 | 40 | Philippe May | Short version: when the server starts, it reads the configuration from @/etc/gisaf/prod.yml@. |
65 | 1 | Philippe May | |
66 | 40 | Philippe May | Longer version: |
67 | 40 | Philippe May | |
68 | 40 | Philippe May | The configuration is found from (in order): |
69 | 40 | Philippe May | |
70 | 40 | Philippe May | * @$HOME/.local/gisaf/prod.yml@ |
71 | 40 | Philippe May | * @/etc/gisaf/prod.yml@ |
72 | 40 | Philippe May | * @<gisaf_source_dir>/gisaf/default.yml@ |
73 | 40 | Philippe May | |
74 | 40 | Philippe May | The configuration files are relatively easy to understand, and grow with the development and list of features supported by Gisaf. |
75 | 40 | Philippe May | |
76 | 40 | Philippe May | |
77 | 22 | Philippe May | h3. Map |
78 | 22 | Philippe May | |
79 | 22 | Philippe May | The default view of the map can be configured in the gisaf yaml config, eg: |
80 | 22 | Philippe May | |
81 | 22 | Philippe May | <pre> |
82 | 22 | Philippe May | map: |
83 | 22 | Philippe May | openMapTilesKey: cS3lrAfYXoM4MDooT6aS |
84 | 22 | Philippe May | zoom: 14 |
85 | 22 | Philippe May | pitch: 45 |
86 | 22 | Philippe May | lat: 12.0000 |
87 | 22 | Philippe May | lng: 79.8106 |
88 | 22 | Philippe May | bearing: 0 |
89 | 22 | Philippe May | style: OSM (vector) |
90 | 22 | Philippe May | opacity: 0.3 |
91 | 22 | Philippe May | tilesUrl: /tiles/data/india-vector.json |
92 | 22 | Philippe May | </pre> |
93 | 22 | Philippe May | |
94 | 22 | Philippe May | h3. Production |
95 | 22 | Philippe May | |
96 | 22 | Philippe May | Gisaf reads the file @/etc/gisaf/prod.yml@ at boot. |
97 | 22 | Philippe May | |
98 | 22 | Philippe May | |
99 | 22 | Philippe May | h3. Development |
100 | 22 | Philippe May | |
101 | 22 | Philippe May | Gisaf reads the @~/.gisaf/prod.yml@ file at boot. |
102 | 22 | Philippe May | |
103 | 22 | Philippe May | h2. Third party |
104 | 22 | Philippe May | |
105 | 22 | Philippe May | h3. TileServer |
106 | 22 | Philippe May | |
107 | 32 | Philippe May | Serve the vector tiles for mapbox-gl locally: [[ TileServer ]] |
108 | 33 | Philippe May | |
109 | 33 | Philippe May | Alternative: see #6907 |