File proveniente da Wikimedia Commons. Clicca per visitare la pagina originale

File:Last Glacial Maximum topo contours of Europe 1.svg

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

File originale(file in formato SVG, dimensioni nominali 953 × 451 pixel, dimensione del file: 3,21 MB)

Logo di Commons
Logo di Commons
Questo file e la sua pagina di descrizione (discussione · modifica) si trovano su Wikimedia Commons (?)

Dettagli

Descrizione
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

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

  1. 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

  1. proj=-JQ10

proj=-JQ25

  1. gmt grdimage $rect $proj $grid -I$shade -Ccolors2.cpt -B5 -K > $output

gmt grdimage $rect $proj $grid -Ccolors4.cpt -B5 -K > $output

  1. gmt grdcontour $rect $grid $proj -C400-W1p,174/146/148 -O -K >>$output
  2. gmt grdcontour $rect $grid $proj -C500 -W1p,55/0/0 -O -K >>$output
  1. 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

    1. ubuntu, debian, mint .. script
    2. to cut and adjust LGM sealevel
    3. 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

  1. cp europe_large_1_lgm_510.nc ..
  2. 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

  1. include <stdio.h>
  2. include <stdlib.h>
  3. include <string.h>
  4. include <fcntl.h>
  1. define NAMELEN 3200
  2. 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:
w:it:Creative Commons
attribuzione condividi allo stesso modo
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.

Didascalie

Aggiungi una brevissima spiegazione di ciò che questo file rappresenta

Elementi ritratti in questo file

raffigura

Valore sconosciuto senza un elemento Wikidata

image/svg+xml

Cronologia del file

Fare clic su un gruppo data/ora per vedere il file come si presentava nel momento indicato.

Data/OraMiniaturaDimensioniUtenteCommento
attuale13:42, 19 nov 2018Miniatura della versione delle 13:42, 19 nov 2018953 × 451 (3,21 MB)MerikantoUser created page with UploadWizard

La seguente pagina usa questo file:

Metadati