File:Map of West Europe during Last Glacial Maximum 1.svg
![File:Map of West Europe during Last Glacial Maximum 1.svg](https://upload.wikimedia.org/wikipedia/commons/thumb/9/94/Map_of_West_Europe_during_Last_Glacial_Maximum_1.svg/421px-Map_of_West_Europe_during_Last_Glacial_Maximum_1.svg.png?20181117152853)
Original file (SVG file, nominally 421 × 284 pixels, file size: 1.37 MB)
Captions
Captions
Summary
[edit]DescriptionMap of West Europe during Last Glacial Maximum 1.svg |
English: Map of West Europe during cast clacial maximum ca. 24000 cal BP or
20000 rcybp. This maps shows LGM glaciers ith current topography, but sea level is 120 m below present sea level. |
Date | |
Source | Own work |
Author | Merikanto |
SVG development InfoField |
Other information
[edit]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
- 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 ..
GMT 5,4 script to produce imege
output=fig.ps
rect=-R-10/20/35/55
proj=-JQ10
gmt grdimage $rect $proj europe5.nc -Ieurope5_shade.int -Ccolors2.cpt -B5 -K > $output
- gmt grdimage $rect $proj europe5.nc -Ccolors4.cpt -B5 -K > $output
gmt pscoast $rect $proj -Dh -B5/5 -G- -S- -W- -Ia,0/0/255 -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
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]![w:en:Creative Commons](https://upload.wikimedia.org/wikipedia/commons/thumb/7/79/CC_some_rights_reserved.svg/90px-CC_some_rights_reserved.svg.png)
![attribution](https://upload.wikimedia.org/wikipedia/commons/thumb/1/11/Cc-by_new_white.svg/24px-Cc-by_new_white.svg.png)
![share alike](https://upload.wikimedia.org/wikipedia/commons/thumb/d/df/Cc-sa_white.svg/24px-Cc-sa_white.svg.png)
- 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.
File history
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 15:28, 17 November 2018 | ![]() | 421 × 284 (1.37 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.
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 | 336.88397pt |
---|---|
Height | 227.36501pt |