File: README

package info (click to toggle)
gnudatalanguage 1.1.1-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 80,368 kB
  • sloc: cpp: 189,797; ansic: 46,721; sh: 677; python: 474; makefile: 146; xml: 69; f90: 28
file content (29 lines) | stat: -rw-r--r-- 1,638 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
This folder contains projections.ods and projDefinitions.sav
low/ and high/ subfolders contain Shapefiles used by, e.g., MAP_CONTINENTS.

projection.ods describes the projections currently known by PROJ (https://proj.org/operations/projections) with their short name, full name, peculiarities, required parameters, optional parameters, projection scale.

One can update projections.ods each time a new projection comes available, and submit a PR for GDL at Github.

The procedure from the .ods to a working GDL database of projectiosn is a bit tricky (try to do better!)

The .ods can give a .csv copy, e.g.:

soffice --headless --convert-to csv projections.ods

The .csv can be read with GDL:

csv_proj=read_csv("projections.csv",n_table=1)
save,csv_proj,filename="csv.sav

the csv.sav file is then converted to adequate structures with  'map_proj_auxiliary_read_csv' hidden in map_proj_init.pro (just .compile it), structures that are saved by this procedure are then in projDefinitions.sav 

At that moment, projDefintions.sav has been updated and all the projection related procedures (map_set, etc) are aware of the new projection(s). Of course, these files should be installed properly (by a "make install"), in gnudatalanguage/resource/maps.

It is important to note in the "hints" column the type of projection (for correct clips or horizon) and also if they support rotation of coordinates (some do not and that would probably result in a crash of the PROJ library.)

Specifics for interrupted projections (where are the splits) must be added in map_proj_init.pro and map_horizon.pro (nothing is ever easy). 

Good hack.
Gilles