Transcript
Page 1: MapWarper O'Reilly Ignite Talk, Where2.0

Tim Watersthinkwhere.wordpress.com

[email protected] @tim_waters

Leeds, UK

Map Warpermapwarper.net

georectify / georeference / warp / stretch

Page 2: MapWarper O'Reilly Ignite Talk, Where2.0

Wt?

2 examples

Page 3: MapWarper O'Reilly Ignite Talk, Where2.0

Yahoo map mixerMicrosoft map cruncherMetacarta map rectifierDesktop GIS solutions

Page 4: MapWarper O'Reilly Ignite Talk, Where2.0

http://svn2.geothings.net/mapwarper/

OpenStreetMap Project

Free

Open Source

For people who love maps

Page 5: MapWarper O'Reilly Ignite Talk, Where2.0

Thanks Mikel

Thanks John

Page 6: MapWarper O'Reilly Ignite Talk, Where2.0
Page 7: MapWarper O'Reilly Ignite Talk, Where2.0

Map List of types of mapsUpload a new map

Page 8: MapWarper O'Reilly Ignite Talk, Where2.0

Warp mapError

Page 9: MapWarper O'Reilly Ignite Talk, Where2.0

GDALGdalwarpGdal_translate

gdal_translategdal_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

Page 10: MapWarper O'Reilly Ignite Talk, Where2.0

Output

crop

Page 11: MapWarper O'Reilly Ignite Talk, Where2.0

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_resetHandlersend

Page 12: MapWarper O'Reilly Ignite Talk, Where2.0

Layers

Mosaic

Page 13: MapWarper O'Reilly Ignite Talk, Where2.0

GDALTileindexgdaltindex

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

Page 14: MapWarper O'Reilly Ignite Talk, Where2.0

Export options

Page 15: MapWarper O'Reilly Ignite Talk, Where2.0
Page 16: MapWarper O'Reilly Ignite Talk, Where2.0
Page 17: MapWarper O'Reilly Ignite Talk, Where2.0

Crowd sourced

but you can beprivate if you like

Page 18: MapWarper O'Reilly Ignite Talk, Where2.0

The OpenStreetMap Project

WMS

Page 19: MapWarper O'Reilly Ignite Talk, Where2.0

Applications – obvious to work with map libraries and digital collections.

Page 20: MapWarper O'Reilly Ignite Talk, Where2.0
Page 21: MapWarper O'Reilly Ignite Talk, Where2.0
Page 22: MapWarper O'Reilly Ignite Talk, Where2.0

Licences and Terms

Google maps vs Google Satellite

Derivative works through using Ordnance Survey maps to rectify – anti pattern Councils

Page 23: MapWarper O'Reilly Ignite Talk, Where2.0

Free our Old Maps!

Open Historical MapProject

Lets build up a database for the past!

Page 24: MapWarper O'Reilly Ignite Talk, Where2.0

@tim_waters

[email protected]://mapwarper.net

http://svn2.geothings.net/mapwarper/


Top Related