File:Last Glacial Maximum topo contours of Europe 1.svg
File originale (file in formato SVG, dimensioni nominali 953 × 451 pixel, dimensione del file: 3,21 MB)
Questo file e la sua pagina di descrizione (discussione · modifica) si trovano su Wikimedia Commons (?) |
Dettagli
DescrizioneLast Glacial Maximum topo contours of Europe 1.svg |
English: Last glacial mximim (LGM) topographic contour map of Europe. It shows LGM glaciers and shoreline of sea level below 120 meters from current sea level. Rivers are current, no isostatic depression and rise due to weight of glacier. |
Data | |
Fonte | Opera propria |
Autore | Merikanto |
Quest'immagine in SVG contiene grafica raster. Perciò è possibile che si ottengano dei risultati mediocri in caso di ingrandimento. Se possibile, per favore sostituire la grafica raster con grafica vettoriale. |
This image is generated with Generic Mapping Tools 5.4. Output is converted w/ ps2pdf, pdf2svg and svgo utilities. Image cropping with Inkscape.
Basic topography data is
ETOPO1
doi:10.7289/V5C8276M
https://data.nodc.noaa.gov/cgi-bin/iso?id=gov.noaa.ngdc.mgg.dem:316
that is cut and
filtered with SAGA GIS Gaussian blur, blur radius=5 and search radius=10
LGM glaciers, glacial lakes data is from
Becker, D., Verheul, J., Zickel, M., Willmes, C. (2015): LGM paleoenvironment of Europe - Map. CRC806-Database, DOI: 10.5880/SFB806.15
https://crc806db.uni-koeln.de/dataset/show/lgm-paleoenvironment-of-europe--map1449850675/
Data is converted from json to .csv with
geojson2csv utility
output=fig.ps
- rect=-R-10/20/35/55
rect=-R-10/45/35/60
grid=europe_large_1_lgm_510.nc
shade=europe_large_1_lgm_510_shade.int
- proj=-JQ10
proj=-JQ25
- gmt grdimage $rect $proj $grid -I$shade -Ccolors2.cpt -B5 -K > $output
gmt grdimage $rect $proj $grid -Ccolors4.cpt -B5 -K > $output
- gmt grdcontour $rect $grid $proj -C400-W1p,174/146/148 -O -K >>$output
- gmt grdcontour $rect $grid $proj -C500 -W1p,55/0/0 -O -K >>$output
- gmt grdcontour $rect $grid $proj -C500 -W1p,55/0/0 -O -K >>$output
gmt grdcontour $rect $grid $proj -Clevels.txt -W0.5p,55/0/0 -O -K >>$output
gmt pscoast $rect $proj -Dh -B5/5 -G- -S- -W0.25p,blue,.. -Ia/0.25p,0/0/255 -O -K >>$output
gmt psxy $rect $proj -G100/100/255 lgm_lakes1.csv -O -K >>$output
gmt psxy $rect $proj -G255/255/255 mysli1.csv -O -K >>$output
gmt psxy $rect $proj -G255/255/255 lgmglacier1.csv -O >>$output
ps2pdf fig.ps fig.pdf
pdf2svg fig.pdf fig.svg
svgo fig.svg -o fig2.svg
levels.txt
-120
0
100
200
300
500
1000
2000
4000
- ubuntu, debian, mint .. script
- to cut and adjust LGM sealevel
- and blur ETOPO1 grid
sudo apt install qgis saga
ingrid="ETOPO1_Ice_g_gmt4.grd"
outgrid="europe_large_1.nc"
rect=-R-10/60/30/65
gmt grdcut $ingrid -G$outgrid $rect -V
saga_cmd grid_filter 1 -INPUT europe_large_1.nc -RESULT europe_large_1_510.nc -SIGMA 5 -RADIUS 10
gdal_translate -of GMT europe_large_1_510.sdat europe_large_1_510.nc
gdal_calc.py -A europe_large_1_510.nc --outfile=result.tif --calc="(A+120)"
gdal_calc.py -A result.tif --outfile=europe_large_1_lgm_510.tif --calc="((A>0)*A)"
gdal_translate -of GMT europe_large_1_lgm_510.tif europe_large_1_lgm_510.nc
gmt grdgradient europe_large_1_lgm_510.nc -Geurope_large_1_lgm_510_shade.int -A0 -Nt -fg
- cp europe_large_1_lgm_510.nc ..
- cp europe_large_1_lgm_510_shade.int ..
Geojson2csv .cpp source code
Is public domain, Made my merikanto
// THIS CODE IS Public Domain
// NO warranties, no resoponsibility, hope it is useful
// geojson2csv.cpp v 0.36 15.11.2018
// WARN UNDER ALPHA STATE!
// extract coordinates from geojson file "geojson2csv"
// tested w/ ubuntu, gcc
//
// usage geojson2csv [inputfile] [-s1] [-segm]
// tex geojson2csv in.geojson -s1 , numbered lines
// tex geojson2csv in.geojson , without line numbers
// tex geojson2csv lines.geojson -segm , with lines in geojson, without line numbers
- include <stdio.h>
- include <stdlib.h>
- include <string.h>
- include <fcntl.h>
- define NAMELEN 3200
- define ROWLEN 320000
// one segment on line
int segment=0;
// line numbers
int output_type=0;
char iname[NAMELEN]="in.geojson";
char oname[NAMELEN]="out.csv";
int json2_lonlat(char *iname, char *oname)
{
FILE *fin=NULL;
FILE *fout=NULL;
int lukko=0;
char c=0;
int pitu=0;
int rinu=1;
char *p=NULL;
char row[ROWLEN];
char row2[ROWLEN];
memset(row,0,ROWLEN);
memset(row2,0,ROWLEN);
fin=fopen(iname, "r");
if(!fin)
{
printf("\n Input file open error. Maybe there ot file or read permission.");
return(-1);
}
fout=fopen("tmp.txt", "w");
if(!fout)
{
printf("\n Output file open error. Maybe no permission or your disk is full. ");
return(-1);
}
while(!feof(fin))
{
c=fgetc(fin);
if(segment==1)
{
if(c==10)
{
//fprintf(stdout, "\n>SEGU\n");
//fputc(10,fout);
//fputc(13,fout);
fprintf(fout, "\n>\n ");
}
}
if(c=='[')
{
fprintf(fout, "\n");
// printf("\n ");
continue;
}
if(c==']')
{
continue;
}
if(c==',')
{
continue;
}
if(c=='{')
{
continue;
}
if(c=='}')
{
continue;
}
fputc(c,fout);
// printf("%c",(char *)c);
}
fclose(fout);
fclose(fin);
//system("iconv -f iso8859-14 -t utf8 tmp.txt > tmp2.txt");
// printf("\b BGK BRK");
// exit(-1);
fin=fopen("tmp.txt", "r");
if(!fin)
{
printf("\n Input file open error.");
return(-1);
}
// fout=fopen("outmp.txt", "w");
fout=fopen(oname, "w");
if(!fout)
{
printf("\n Output file open error.");
return(-1);
}
int alussa=1;
int edu=0;
while(!feof(fin))
{
pitu=0;
lukko=0;
memset(row,0,ROWLEN);
memset(row2,0,ROWLEN);
// fread(row,1,ROWLEN,fin);
fgets(row,ROWLEN,fin);
pitu=strlen(row);
if (strchr(row, '\"') )
{
lukko=1;
}
if (pitu<5 )
{
if(alussa==0)
{
if(edu==0)
{
if(segment==1)
{
fprintf(fout, ">\n");
edu=1;
}}
}
lukko=1;
}
if(lukko==0)
{
alussa=0;
edu=0;
// fprintf(stdout, "%s",row);
strcpy(row2,row);
char *p=NULL;
p=strchr(row2,' ');
if(p) *p=',';
p++;
p=strchr(p,' ');
if(p) *p=',';
if(output_type==1)
{
fprintf(fout, "%i%s",rinu, row2);
}
else
{ p=row2+1;
fprintf(fout, "%s",p);
}
rinu++;
}
}
// system("iconv -f iso8859-14 -t utf8 outmp.txt > out.txt");
fclose(fout);
fclose(fin);
return(0);
}
int params(int argc, char **argv)
{
int n=0;
char *p=NULL;
printf("\n Sample usage for points: geojson2csv in.geojson -s1");
printf("\n For lines etc. use -segm : geojson2csv in.geojson -s1 -segm");
// defaults!
output_type=0;
segment=0;
for(n=0;n<argc;n++)
{
printf("\n %s ", argv[n] );
if(!strcmp(argv[n],"-s1"))
{
output_type=1;
continue;
}
// segmented output
if(!strcmp(argv[n],"-segm"))
{
segment=1;
// printf("n Seg");
continue;
}
// no segmented output
if(!strcmp(argv[n],"-segm-"))
{
segment=0;
continue;
}
}
if (argv[1] )
{
memset(iname,0,NAMELEN);
memset(oname,0,NAMELEN);
strcpy(iname,argv[1]);
p=NULL;
p=strchr(iname,'.');
*p=0;
strcpy(oname, iname);
strcat(oname,".csv");
*p='.';
}
if (argv[2] )
{
if(strcmp(argv[2],"-s1"))
{
if(strcmp(argv[2],"-segm"))
{
if(strcmp(argv[2],"-segm-"))
{
memset(oname,0,NAMELEN);
strcpy(oname,argv[2]);
}}}
}
printf("\n Iname %s Oname %s ", iname, oname);
printf("\n Output_type %i .", output_type);
printf("\n Segmented %i .", segment);
printf("\n");
return(0);
}
int main(int argc, char **argv)
{
// segment=1;
params(argc, argv);
printf("\n Konv ... \n");
// json2_lonlat("mysli1.geojson", "mysli1.csv");
json2_lonlat(iname, oname);
printf("\n Yess. \n");
return(0);
}
Licenza
Io, detentore del copyright su quest'opera, dichiaro di pubblicarla con la seguente licenza:
Questo file è disponibile in base alla licenza Creative Commons Attribuzione-Condividi allo stesso modo 4.0 Internazionale
- Tu sei libero:
- di condividere – di copiare, distribuire e trasmettere quest'opera
- di modificare – di adattare l'opera
- Alle seguenti condizioni:
- attribuzione – Devi fornire i crediti appropriati, un collegamento alla licenza e indicare se sono state apportate modifiche. Puoi farlo in qualsiasi modo ragionevole, ma non in alcun modo che suggerisca che il licenziante approvi te o il tuo uso.
- condividi allo stesso modo – Se remixi, trasformi o sviluppi il materiale, devi distribuire i tuoi contributi in base alla stessa licenza o compatibile all'originale.
https://creativecommons.org/licenses/by-sa/4.0CC BY-SA 4.0 Creative Commons Attribution-Share Alike 4.0 truetrue
Elementi ritratti in questo file
raffigura
Valore sconosciuto senza un elemento Wikidata
19 nov 2018
image/svg+xml
3 362 657 byte
451 pixel
953 pixel
b6546da459c4aaf1c12727257dcb5701733ffe95
Cronologia del file
Fare clic su un gruppo data/ora per vedere il file come si presentava nel momento indicato.
Data/Ora | Miniatura | Dimensioni | Utente | Commento | |
---|---|---|---|---|---|
attuale | 12:42, 19 nov 2018 | 953 × 451 (3,21 MB) | Merikanto | User created page with UploadWizard |
Pagine che usano questo file
La seguente pagina usa questo file:
Metadati
Questo file contiene informazioni aggiuntive, probabilmente aggiunte dalla fotocamera o dallo scanner usati per crearlo o digitalizzarlo. Se il file è stato modificato, alcuni dettagli potrebbero non corrispondere alla realtà.
Larghezza | 762.10297pt |
---|---|
Altezza | 360.50504pt |