Fullstack Portal Created by the HCMR for the Marine Strategy Framework Directive Program in order to cover demands and aspects considering extendability and maintainability
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

65 lines
2.7 KiB

<!doctype html>
<html>
<head>
<title>js-shapefile-to-geojson Demo Page</title>
<style>
html, body {
height: 100%;
width: 100%;
}
#map {
height: 400px;
background-color: #eee;
}
</style>
</head>
<body>
<a href="http://github.com/wavded/js-shapefile-to-geojson"><img style="position: absolute; top: 0; right: 0; border: 0;" src="http://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png" alt="Fork me on GitHub" /></a>
<h2>js-shapefile-to-geojson Demo Page</h2>
<p>Pure client-side JavaScript (no server side code) parsing of shapefiles and dbase files to GeoJSON format displayed using OpenLayers.</p>
<div id="map"></div>
<p>View project at <a href="http://github.com/wavded/js-shapefile-to-geojson">http://github.com/wavded/js-shapefile-to-geojson</a>.
<script src="http://rs1.adc4gis.com/js/openlayers/2.9.1/OpenLayers-Proj4.js"></script>
<script src="stream.js"></script>
<script src="shapefile.js"></script>
<script src="dbf.js"></script>
<script type="text/javascript">
OpenLayers._getScriptLocation = function(){
return "http://rs1.adc4gis.com/js/openlayers/2.9.1/";
};
var map = new OpenLayers.Map("map",{allOverlays: true}),
parser = new OpenLayers.Format.GeoJSON(),
vector = new OpenLayers.Layer.Vector("Converted")
map.addLayer(vector);
var onchange = function(e) {
var shpFile = document.getElementById('shp').files[0];
var dbfFile = document.getElementById('dbf').files[0];
if (shpFile) {
var opts = { shp: shpFile };
if (dbfFile) {
opts['dbf'] = dbfFile;
}
shapefile = new Shapefile(opts, function(data){
var features = parser.read(data.geojson);
vector.addFeatures(features);
map.zoomToExtent(vector.getDataExtent());
console.log(data);
});
}
}
document.body.onload = function(){
document.getElementById('shp').addEventListener('change', onchange, false);
document.getElementById('dbf').addEventListener('change', onchange, false);
}
</script>
<br>
<br>
.shp <input id="shp" type="file" name=".shp" />
.dbf <input id="dbf" type="file" name=".dbf" />
</body>
</html>