GIS Conventions » History » Version 2
Giulio Di Anastasio, 05/05/2021 09:28
| 1 | 1 | Giulio Di Anastasio | h1. GIS Conventions |
|---|---|---|---|
| 2 | 1 | Giulio Di Anastasio | |
| 3 | 1 | Giulio Di Anastasio | h1. Shapefiles |
| 4 | 1 | Giulio Di Anastasio | |
| 5 | 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. |
| 6 | 1 | Giulio Di Anastasio | |
| 7 | 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*. |
| 8 | 1 | Giulio Di Anastasio | |
| 9 | 1 | Giulio Di Anastasio | We have defined some simple norms about these shapefiles for integration with Gisaf. |
| 10 | 1 | Giulio Di Anastasio | |
| 11 | 1 | Giulio Di Anastasio | |
| 12 | 1 | Giulio Di Anastasio | |
| 13 | 1 | Giulio Di Anastasio | h2. Coordinate system |
| 14 | 1 | Giulio Di Anastasio | |
| 15 | 1 | Giulio Di Anastasio | We use CRS SRID 32644. |
| 16 | 1 | Giulio Di Anastasio | |
| 17 | 1 | Giulio Di Anastasio | |
| 18 | 1 | Giulio Di Anastasio | |
| 19 | 1 | Giulio Di Anastasio | h2. Column (attributes) |
| 20 | 1 | Giulio Di Anastasio | |
| 21 | 1 | Giulio Di Anastasio | * All objects in a shapefile (layer) have a unique identifier named "id": numerical value. |
| 22 | 1 | Giulio Di Anastasio | |
| 23 | 1 | Giulio Di Anastasio | |
| 24 | 1 | Giulio Di Anastasio | |
| 25 | 1 | Giulio Di Anastasio | h3. Field (attribute) names |
| 26 | 1 | Giulio Di Anastasio | |
| 27 | 1 | Giulio Di Anastasio | * All fields are lower case (-UpperCase-, use: @lowercase@) |
| 28 | 1 | Giulio Di Anastasio | |
| 29 | 1 | Giulio Di Anastasio | * They do not contain spaces, but underscores (-not this-, use: @but_that@) |
| 30 | 1 | Giulio Di Anastasio | |
| 31 | 1 | Giulio Di Anastasio | * The field names cannot have more than 8 characters (-this_is_too_long-, use: @this_short@) |
| 32 | 1 | Giulio Di Anastasio | |
| 33 | 1 | Giulio Di Anastasio | |
| 34 | 1 | Giulio Di Anastasio | h3. Attribute types |
| 35 | 1 | Giulio Di Anastasio | |
| 36 | 1 | Giulio Di Anastasio | * The dates are written in ISO format: @YYYY-MM-DD@ (eg. @1968-02-25@) |
| 37 | 1 | Giulio Di Anastasio | |
| 38 | 1 | Giulio Di Anastasio | h3. Fields to remove |
| 39 | 1 | Giulio Di Anastasio | |
| 40 | 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) |
| 41 | 1 | Giulio Di Anastasio | |
| 42 | 1 | Giulio Di Anastasio | h2. Foreign keys |
| 43 | 1 | Giulio Di Anastasio | |
| 44 | 1 | Giulio Di Anastasio | We often deal with labels or categories of objects in a layer. |
| 45 | 1 | Giulio Di Anastasio | |
| 46 | 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. |
| 47 | 1 | Giulio Di Anastasio | |
| 48 | 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: |
| 49 | 1 | Giulio Di Anastasio | |
| 50 | 1 | Giulio Di Anastasio | |_. id |_. name | |
| 51 | 1 | Giulio Di Anastasio | | 1 | Beautiful | |
| 52 | 1 | Giulio Di Anastasio | | 2 | Interesting | |
| 53 | 1 | Giulio Di Anastasio | | 3 | Pretty | |
| 54 | 1 | Giulio Di Anastasio | |
| 55 | 1 | Giulio Di Anastasio | h2. Code |
| 56 | 1 | Giulio Di Anastasio | |
| 57 | 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). |
| 58 | 1 | Giulio Di Anastasio | |
| 59 | 1 | Giulio Di Anastasio | Add a column @code_name@, matching with one the code, eg. @V25@ for TDEF. |
| 60 | 1 | Giulio Di Anastasio | |
| 61 | 1 | Giulio Di Anastasio | h2. Surveyor |
| 62 | 1 | Giulio Di Anastasio | |
| 63 | 1 | Giulio Di Anastasio | We keep a record of the people who realized the surveys (the _surveyors_). |
| 64 | 1 | Giulio Di Anastasio | The shapefiles must contain an attribute @srvyr_id@, which refers to this table (TODO: add link). |
| 65 | 1 | Giulio Di Anastasio | |
| 66 | 1 | Giulio Di Anastasio | h2. Accuracy |
| 67 | 1 | Giulio Di Anastasio | |
| 68 | 1 | Giulio Di Anastasio | We keep a record of the accuracy of the surveys. |
| 69 | 1 | Giulio Di Anastasio | The shapefiles must contain an attribute @accur_id@, which refers to this table (TODO: add link). |
| 70 | 1 | Giulio Di Anastasio | |
| 71 | 1 | Giulio Di Anastasio | |
| 72 | 1 | Giulio Di Anastasio | h2. Date of survey |
| 73 | 1 | Giulio Di Anastasio | |
| 74 | 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@. |