File:Last Glacial Maximum topo contours of Europe 1.svg
Original file (SVG file, nominally 953 × 451 pixels, file size: 3.21 MB)
Captions
Summary
[edit]DescriptionLast 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. |
Date | |
Source | Own work |
Author | Merikanto |
This SVG image contains embedded raster graphics.[1] Such images are liable to produce inferior results when scaled to different sizes (as well as possibly being very inefficient in file size). If appropriate to do so, they should be replaced with images created using vector graphics. Note: This template is only supposed to be used if the SVG file mixes vector and raster graphics. If the SVG file only contains raster graphics {{FakeSVG}} is supposed to be used. See also {{TopoSVG}}. |
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);
}
Licensing
[edit]
I, the copyright holder of this work, hereby publish it under the following license:
This file is licensed under the Creative Commons Attribution-Share Alike 4.0 International license.
- You are free:
- to share – to copy, distribute and transmit the work
- to remix – to adapt the work
- Under the following conditions:
- attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
- share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.
https://creativecommons.org/licenses/by-sa/4.0CC BY-SA 4.0 Creative Commons Attribution-Share Alike 4.0 truetrue
File history
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 11:42, 19 November 2018 | 953 × 451 (3.21 MB) | Merikanto (talk | contribs) | User created page with UploadWizard |
You cannot overwrite this file.
File usage on Commons
There are no pages that use this file.
File usage on other wikis
The following other wikis use this file:
- Usage on it.wikipedia.org
Metadata
This file contains additional information such as Exif metadata which may have been added by the digital camera, scanner, or software program used to create or digitize it. If the file has been modified from its original state, some details such as the timestamp may not fully reflect those of the original file. The timestamp is only as accurate as the clock in the camera, and it may be completely wrong.
Width | 762.10297pt |
---|---|
Height | 360.50504pt |