240 likes | 353 Views
Tim Waters thinkwhere.wordpress.com tim@geothings.net @tim_waters Leeds, UK Map Warper mapwarper.net. georectify / georeference / warp / stretch. Wt? 2 examples. Yahoo map mixer Microsoft map cruncher Metacarta map rectifier Desktop GIS solutions. Free Open Source
E N D
Tim Watersthinkwhere.wordpress.com tim@geothings.net @tim_waters Leeds, UK Map Warper mapwarper.net georectify / georeference / warp / stretch
Wt? 2 examples
Yahoo map mixer Microsoft map cruncher Metacarta map rectifier Desktop GIS solutions
Free Open Source For people who love maps OpenStreetMap Project http://svn2.geothings.net/mapwarper/
Thanks Mikel Thanks John
Map List of types of maps Upload a new map
Warp map Error
GDAL Gdalwarp Gdal_translate gdal_translate -a_srs '+init=epsg:4326' -of VRT /home/tim/work/warper/mapwarper/public/mapimages/src/orig6985.tif /home/tim/work/warper/mapwarper/public/mapimages/dst/28_temp.vrt -gcp 1100.2, 2332.0, -83.9654296874, 41.8320690697 -gcp 3782.0, 1676.12, -78.9996093751, 42.710039226 -gcp 2703.45, 3760.35, -81.196875, 40.675794242 gdalwarp -rn -dstalpha /home/tim/work/warper/mapwarper/public/mapimages/dst/28_temp.vrt /home/tim/work/warper/mapwarper/public/mapimages/dst/28.tif -co TILED=YES
Output crop
Whooms – upload geotiff, serve as wms http://github.com/timwaters/whooms/tree/master get '/wms' do @map = params["layer"] ows = Mapscript::OWSRequest.new ok_params = Hash.new params.each {|k,v| ok_params[k.upcase] = v } [:request, :version, :transparency, :service, :srs, :width, :height, :bbox, :format, :srs].each do |key| ows.setParameter(key.to_s, ok_params[key.to_s.upcase]) unless ok_params[key.to_s.upcase].nil? end ows.setParameter("STYLES", "") ows.setParameter("LAYERS", "image") ows.setParameter("COVERAGE", "image") mapsv = Mapscript::MapObj.new(File.join(map_directory, '/wms.map')) mapsv.applyConfigOptions mapsv.setMetaData("wms_onlineresource", "http://" + request.host + "/wms/#{@map}") raster = Mapscript::LayerObj.new(mapsv) raster.name = "image" raster.type = Mapscript::MS_LAYER_RASTER; raster.data = File.join(map_directory, @map) raster.status = Mapscript::MS_ON raster.dump = Mapscript::MS_TRUE raster.metadata.set('wcs_formats', 'GEOTIFF') raster.metadata.set('wms_title', ("wms from whooms "+@map)) raster.metadata.set('wms_srs', 'EPSG:4326') raster.debug= Mapscript::MS_TRUE Mapscript::msIO_installStdoutToBuffer result = mapsv.OWSDispatch(ows) content_type = Mapscript::msIO_stripStdoutBufferContentType || "text/plain" result_data = Mapscript::msIO_getStdoutBufferBytes send_data result_data, :type => content_type, :disposition => "inline" Mapscript::msIO_resetHandlers end
Layers Mosaic
GDAL Tileindex gdaltindex gdaltindex -write_absolute_path /home/tim/work/warper/mapwarper/db/maptileindex/7.shp /home/tim/work/warper/mapwarper/public/mapimages/dst/91.tif /home/tim/work/warper/mapwarper/public/mapimages/dst/41.tif
Crowd sourced but you can be private if you like
Applications – obvious to work with map libraries and digital collections.
Licences and Terms Google maps vs Google Satellite Derivative works through using Ordnance Survey maps to rectify – anti pattern Councils
Free our Old Maps! Open Historical Map Project Lets build up a database for the past!
@tim_waters tim@geothings.net http://mapwarper.net http://svn2.geothings.net/mapwarper/