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