Notes from a WebGIS implementation (for non-programmers and desktop GIS users) Paolo Verri <paolo.verri@gmail.com>
From Desktop GIS to WebGIS: architecture
Desktop GIS Architecture Local GIS Program Local Data (everything is near you, on your PC)
Web GIS Architecture Browser Web Local GIS GIS Client Client Network Remote Data MapServer (GIS Database)
Build a WebGIS: 4 main activities
1 WebGIS architecture setup ! IT skills
2 data production & manipulation ! Geo & SQL skills, data structure design is critical
3 web map configuration & styling !! Geo skills, styling can be time- consuming
4 map-user interaction !!! IT & Geo skills, lots of javascript programming, time-consuming
From Geodatabases to PostGIS (Vector data)
Shapefiles, Geodatabase DBF files 1
Shapefiles, SQL files DBF files 2 shp2pgsql myshapefile.shp myschema.mytable > mytable.sql ! SRID Input encoding Identifier’s case
SQL files PostGIS 3 pgsql mytable.sql ! Database configuration Output encoding Dataset size
From PostGIS to Web Maps (with MapServer)
Web Map ? Image, representing geographic information, with an internet address (URL), displayed in a web browser
Image Address (URL) Map Web Browser
MapServer ? Receives browser requests, queries PostGIS database, produces images, sends them back to browser
Publishing Web Maps = Tell MapServer how to build images out of geographic data when requested by web browsers.
How to tell MapServer: configuration example. Web Map Name Geographic Extent and Geometry Type PostGIS connection Styling
From Web Maps to Web GIS (interacting with maps)
geographic data storage, calculations and maps production happen far far away. map interaction happens near you (yes, in your browser, thanks to javascript)
Basic Web Map Interaction (read only) = Pan Zoom Layers switch = Openlayers javascript library
Complex Web Map Interaction (read, write) = Query features infos Select features Calculations (distance, area...) Input data forms = GeoExt javascript library
Tools of the trade
Store and organize the data Postgres (SQL database) + PostGIS (geo extensions and utilities) + pgAdmin (GUI, database front end) (but there’s a command line too) http://postgis.refractions.net/
Manipulate the data GDAL (raster geospatial data formats) + OGR (vector geospatial data formats) (ESRI shapefiles!) + PROJ.4 (cartographic projections) Packages found at: http://www.maptools.org/
Generate and Publish Maps Mapserver (generate maps and more...) + PHP/Mapscript (programming language, for dynamic map generation) (it happens server side!) + Web Server (send maps to the browser) (and HTML pages too) Packages found at: http://www.maptools.org/
Manage User Interaction javascript + Openlayers (maps in html pages) + ExtJS (javascript library, complex GUIs) http://www.geoext.org/

Web gis implementation notes

  • 1.
    Notes from a WebGIS implementation (for non-programmers and desktop GIS users) Paolo Verri <paolo.verri@gmail.com>
  • 2.
    From Desktop GIS to WebGIS: architecture
  • 3.
    Desktop GIS Architecture Local GIS Program Local Data (everything is near you, on your PC)
  • 4.
    Web GIS Architecture Browser Web Local GIS GIS Client Client Network Remote Data MapServer (GIS Database)
  • 5.
    Build a WebGIS: 4 main activities
  • 6.
    1 WebGIS architecture setup ! IT skills
  • 7.
    2 data production & manipulation ! Geo & SQL skills, data structure design is critical
  • 8.
    3 web map configuration& styling !! Geo skills, styling can be time- consuming
  • 9.
    4 map-user interaction !!! IT & Geo skills, lots of javascript programming, time-consuming
  • 10.
    From Geodatabases to PostGIS (Vector data)
  • 11.
  • 12.
    Shapefiles, SQL files DBF files 2 shp2pgsql myshapefile.shp myschema.mytable > mytable.sql ! SRID Input encoding Identifier’s case
  • 13.
    SQL files PostGIS 3 pgsql mytable.sql ! Database configuration Output encoding Dataset size
  • 14.
    From PostGIS to Web Maps (with MapServer)
  • 15.
    Web Map ? Image, representing geographic information, with an internet address (URL), displayed in a web browser
  • 16.
    Image Address (URL) Map Web Browser
  • 17.
    MapServer ? Receives browser requests, queries PostGIS database, produces images, sends them back to browser
  • 18.
    Publishing Web Maps = Tell MapServer how to build images out of geographic data when requested by web browsers.
  • 19.
    How to tellMapServer: configuration example. Web Map Name Geographic Extent and Geometry Type PostGIS connection Styling
  • 20.
    From WebMaps to Web GIS (interacting with maps)
  • 21.
    geographic data storage, calculations and maps production happen far far away. map interaction happens near you (yes, in your browser, thanks to javascript)
  • 22.
    Basic Web MapInteraction (read only) = Pan Zoom Layers switch = Openlayers javascript library
  • 23.
    Complex Web MapInteraction (read, write) = Query features infos Select features Calculations (distance, area...) Input data forms = GeoExt javascript library
  • 24.
  • 25.
    Store and organizethe data Postgres (SQL database) + PostGIS (geo extensions and utilities) + pgAdmin (GUI, database front end) (but there’s a command line too) http://postgis.refractions.net/
  • 26.
    Manipulate the data GDAL (raster geospatial data formats) + OGR (vector geospatial data formats) (ESRI shapefiles!) + PROJ.4 (cartographic projections) Packages found at: http://www.maptools.org/
  • 27.
    Generate and PublishMaps Mapserver (generate maps and more...) + PHP/Mapscript (programming language, for dynamic map generation) (it happens server side!) + Web Server (send maps to the browser) (and HTML pages too) Packages found at: http://www.maptools.org/
  • 28.
    Manage User Interaction javascript + Openlayers (maps in html pages) + ExtJS (javascript library, complex GUIs) http://www.geoext.org/