SlideShare a Scribd company logo
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/

More Related Content

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. Shapefiles, Geodatabase DBF files 1
  • 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 tell MapServer: configuration example. Web Map Name Geographic Extent and Geometry Type PostGIS connection Styling
  • 20. From Web Maps 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 Map Interaction (read only) = Pan Zoom Layers switch = Openlayers javascript library
  • 23. Complex Web Map Interaction (read, write) = Query features infos Select features Calculations (distance, area...) Input data forms = GeoExt javascript library
  • 24. Tools of the trade
  • 25. 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/
  • 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 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/
  • 28. Manage User Interaction javascript + Openlayers (maps in html pages) + ExtJS (javascript library, complex GUIs) http://www.geoext.org/

Editor's Notes