GIS Conventions » History » Version 1
Giulio Di Anastasio, 03/05/2021 15:21
1 | 1 | Giulio Di Anastasio | h1. GIS Conventions |
---|---|---|---|
2 | 1 | Giulio Di Anastasio | h2. QGis |
3 | 1 | Giulio Di Anastasio | |
4 | 1 | Giulio Di Anastasio | h3. Conventions |
5 | 1 | Giulio Di Anastasio | |
6 | 1 | Giulio Di Anastasio | h1. Shapefiles |
7 | 1 | Giulio Di Anastasio | |
8 | 1 | Giulio Di Anastasio | We work with "QGis":https://en.wikipedia.org/wiki/QGIS , a widely used open source, free software for working on maps and geographical data. |
9 | 1 | Giulio Di Anastasio | |
10 | 1 | Giulio Di Anastasio | "Shapefile":https://en.wikipedia.org/wiki/Shapefile is a standard file format for mapping, that Gisaf can import. QGis can open and save *shapefiles*. |
11 | 1 | Giulio Di Anastasio | |
12 | 1 | Giulio Di Anastasio | We have defined some simple norms about these shapefiles for integration with Gisaf. |
13 | 1 | Giulio Di Anastasio | |
14 | 1 | Giulio Di Anastasio | |
15 | 1 | Giulio Di Anastasio | |
16 | 1 | Giulio Di Anastasio | h2. Coordinate system |
17 | 1 | Giulio Di Anastasio | |
18 | 1 | Giulio Di Anastasio | We use CRS SRID 32644. |
19 | 1 | Giulio Di Anastasio | |
20 | 1 | Giulio Di Anastasio | |
21 | 1 | Giulio Di Anastasio | |
22 | 1 | Giulio Di Anastasio | h2. Column (attributes) |
23 | 1 | Giulio Di Anastasio | |
24 | 1 | Giulio Di Anastasio | * All objects in a shapefile (layer) have a unique identifier named "id": numerical value. |
25 | 1 | Giulio Di Anastasio | |
26 | 1 | Giulio Di Anastasio | |
27 | 1 | Giulio Di Anastasio | |
28 | 1 | Giulio Di Anastasio | h3. Field (attribute) names |
29 | 1 | Giulio Di Anastasio | |
30 | 1 | Giulio Di Anastasio | * All fields are lower case (-UpperCase-, use: @lowercase@) |
31 | 1 | Giulio Di Anastasio | |
32 | 1 | Giulio Di Anastasio | * They do not contain spaces, but underscores (-not this-, use: @but_that@) |
33 | 1 | Giulio Di Anastasio | |
34 | 1 | Giulio Di Anastasio | * The field names cannot have more than 8 characters (-this_is_too_long-, use: @this_short@) |
35 | 1 | Giulio Di Anastasio | |
36 | 1 | Giulio Di Anastasio | |
37 | 1 | Giulio Di Anastasio | h3. Attribute types |
38 | 1 | Giulio Di Anastasio | |
39 | 1 | Giulio Di Anastasio | * The dates are written in ISO format: @YYYY-MM-DD@ (eg. @1968-02-25@) |
40 | 1 | Giulio Di Anastasio | |
41 | 1 | Giulio Di Anastasio | h3. Fields to remove |
42 | 1 | Giulio Di Anastasio | |
43 | 1 | Giulio Di Anastasio | * Eventually, remove the fields containing the coordinates: northing, easting, elevation, latitude, longitude, area, length, etc (these might be present when the data is imported from speadsheet) |
44 | 1 | Giulio Di Anastasio | |
45 | 1 | Giulio Di Anastasio | h2. Foreign keys |
46 | 1 | Giulio Di Anastasio | |
47 | 1 | Giulio Di Anastasio | We often deal with labels or categories of objects in a layer. |
48 | 1 | Giulio Di Anastasio | |
49 | 1 | Giulio Di Anastasio | A common use case to explain: Alice creates a layer of stones, and wants to *tag* each stone with a rating: these are picked from a list of choices, like: _Beautiful_, _Interesting_, _Pretty_, etc. |
50 | 1 | Giulio Di Anastasio | |
51 | 1 | Giulio Di Anastasio | For these kind of attribute: define a column like @rating_id@ (_something_ ending with @_id@) as a numerical value, and assign values 1, 2, 3, etc. The text is defined in another table (typically a CSV file), that looks like: |
52 | 1 | Giulio Di Anastasio | |
53 | 1 | Giulio Di Anastasio | |_. id |_. name | |
54 | 1 | Giulio Di Anastasio | | 1 | Beautiful | |
55 | 1 | Giulio Di Anastasio | | 2 | Interesting | |
56 | 1 | Giulio Di Anastasio | | 3 | Pretty | |
57 | 1 | Giulio Di Anastasio | |
58 | 1 | Giulio Di Anastasio | h2. Code |
59 | 1 | Giulio Di Anastasio | |
60 | 1 | Giulio Di Anastasio | We have defined a standard set of codes, that defines the type of data. They can be found here (TODO: add link). |
61 | 1 | Giulio Di Anastasio | |
62 | 1 | Giulio Di Anastasio | Add a column @code_name@, matching with one the code, eg. @V25@ for TDEF. |
63 | 1 | Giulio Di Anastasio | |
64 | 1 | Giulio Di Anastasio | h2. Surveyor |
65 | 1 | Giulio Di Anastasio | |
66 | 1 | Giulio Di Anastasio | We keep a record of the people who realized the surveys (the _surveyors_). |
67 | 1 | Giulio Di Anastasio | The shapefiles must contain an attribute @srvyr_id@, which refers to this table (TODO: add link). |
68 | 1 | Giulio Di Anastasio | |
69 | 1 | Giulio Di Anastasio | h2. Accuracy |
70 | 1 | Giulio Di Anastasio | |
71 | 1 | Giulio Di Anastasio | We keep a record of the accuracy of the surveys. |
72 | 1 | Giulio Di Anastasio | The shapefiles must contain an attribute @accur_id@, which refers to this table (TODO: add link). |
73 | 1 | Giulio Di Anastasio | |
74 | 1 | Giulio Di Anastasio | |
75 | 1 | Giulio Di Anastasio | h2. Date of survey |
76 | 1 | Giulio Di Anastasio | |
77 | 1 | Giulio Di Anastasio | As nothing is absolutely permanent, it's also important to keep track of the date of the surveys: the shapefiles must contain an attribute @date@. |