73 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!DOCTYPE html>
 | |
| <html>
 | |
|   <head>
 | |
|     <meta name="viewport" content="width=device-width, initial-scale=1">
 | |
|     <link rel="stylesheet" href="https://unpkg.com/leaflet@1.7.1/dist/leaflet.css"/>
 | |
|     <style>
 | |
|       #map {
 | |
| 			height: 400px;
 | |
| 			width: 600px;
 | |
| 			max-width: 100%;
 | |
| 			max-height: 100%;
 | |
| 			background-color: white;
 | |
| 			outline:auto;
 | |
| 		}
 | |
|       #overlay {
 | |
|         height: 100px;
 | |
|         z-index: 9;
 | |
|       }
 | |
|     </style>
 | |
|   </head>
 | |
|   <body>
 | |
|     <div id="overlay">
 | |
|       <h1>Load a GeoTIFF File</h1>
 | |
|       <input type="file" id="geotiff-file">
 | |
|     </div>
 | |
|     <div id="map"></div>
 | |
|     <script src="https://unpkg.com/leaflet@1.7.1/dist/leaflet.js"></script>
 | |
|     <script src="https://unpkg.com/georaster"></script>
 | |
|     <script src="https://unpkg.com/proj4"></script>
 | |
|     <script src="https://unpkg.com/georaster-layer-for-leaflet"></script>
 | |
|     <script>
 | |
|       // initalize leaflet map
 | |
|       var map = L.map('map').setView([0, 0], 5);
 | |
| 
 | |
|       // add OpenStreetMap basemap
 | |
|       L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
 | |
|           attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
 | |
|       }).addTo(map);
 | |
| 
 | |
|       document.getElementById("geotiff-file").addEventListener("change", function(event) {
 | |
|         var file = event.target.files[0];
 | |
|         console.log("file:", file);
 | |
| 
 | |
|         var reader = new FileReader();
 | |
|         reader.readAsArrayBuffer(file);
 | |
|         reader.onloadend = function() {
 | |
|           var arrayBuffer = reader.result;
 | |
|           parseGeoraster(arrayBuffer).then(georaster => {
 | |
| 
 | |
|             console.log("georaster:", georaster);
 | |
|             /*
 | |
|                 GeoRasterLayer is an extension of GridLayer,
 | |
|                 which means can use GridLayer options like opacity.
 | |
| 
 | |
|                 Just make sure to include the georaster option!
 | |
| 
 | |
|                 http://leafletjs.com/reference-1.2.0.html#gridlayer
 | |
|             */
 | |
|             var layer = new GeoRasterLayer({
 | |
|                 georaster: georaster,
 | |
|                 opacity: 0.7,
 | |
|                 resolution: 256
 | |
|             });
 | |
|             console.log("layer:", layer);
 | |
|             layer.addTo(map);
 | |
| 
 | |
|             map.fitBounds(layer.getBounds());
 | |
|           });
 | |
|         };
 | |
|       });
 | |
|     </script>
 | |
|   </body>
 | |
| </html>
 |