GeoMOOSE - PowerPoint PPT Presentation

1 / 61
About This Presentation
Title:

GeoMOOSE

Description:

Dan 'Ducky' Little, Independent Consultant. Jim Klassen & Bob Basques, City of Saint Paul ... City of Saint Paul Public Works 'GISmo' Additional Improvements ... – PowerPoint PPT presentation

Number of Views:403
Avg rating:3.0/5.0
Slides: 62
Provided by: publ47
Category:
Tags: geomoose

less

Transcript and Presenter's Notes

Title: GeoMOOSE


1
GeoMOOSE
  • 1.6.0
  • Dan Ducky Little, Independent Consultant
  • Jim Klassen Bob Basques, City of Saint Paul
  • Brian Fischer, Houston Engineering

2
The Plan
  • Cover the Background and Concepts of GeoMOOSE
  • Install GeoMOOSE and get the Demo Working
  • Play Take a Break (20 min)
  • Add a layer to the interface
  • Get the new layer working with select and
    identify tools.
  • Get Printing to Work!

3
Origins
  • City of Saint Paul Public Works GISmo
  • Additional Improvements by the OpenMNND project
  • Now being implemented by
  • City of Saint Paul
  • Houston Engineering
  • A few Metro Counties
  • Morton County, ND
  • Richland County, ND
  • Florida State University
  • Now Used World Wide! Implementers in Germany,
    South America, and Greece!

4
Design Goals
  • Object Oriented
  • Reusable Code Components
  • Service Oriented Architecture
  • Objects on a Grand Scale
  • Configurable
  • For implementers
  • Scalable Use
  • Beginners with little training to expert users
  • Many layers, services, data maintainers, clients

5
What does this jargon mean?
  • GeoMOOSE is flexible.
  • Two GeoMOOSE installations can have different
    behaviors. Its all configurable.
  • GeoMOOSE integrates easily.
  • GeoMOOSE can talk to just about any type of CGI
    script for additional functionality and reporting.

6
The Old Guard
  • In older applications the user typically must
    reload all of the page.
  • Links to other scripts/programs were done
    manually via Javascript hacks on top of the
    application.
  • This requires setting up many server side
    resources.

7
Traditional All-Server
User Action/Information Request
Server Renders HTML Page
Stan gets the new HTML Page
8
Problems/Annoyances
  • The page is relatively limited to a single
    script.
  • The page is always reloading slowing down overall
    user-perceived quickness.
  • The main script needs to usually be modified to
    support additional functionality.

9
Typical AJAX-Enhanced Apps
  • Most AJAX Applications do the following
  • Send a small bit of commands to the server (like
    a SQL statement)
  • Get text/XML in return and displays it with some
    formatting.
  • This is really just ENHANCING traditional
    CGI-based applications.

10
How AJAX Works
Stan Requests the Page
The server returns the page to Stan.
AJAX communicates with the server in the
background. Stan never sees the page reload.
11
Good, Bad, Ugly?
  • Vast improvement in user experience (not as much
    reloading)
  • The enhancements can be very nice for searching
    for features, etc.
  • Traditional AJAX Applications tend not to be
    modular enough to be useful.

12
Why GeoMOOSE is different.
  • GeoMOOSE considers everything a service
  • Layers are Image Services Each layer is
    rendered individually and added to the interface.
  • All of the tools are defined in XML as a
    service, including navigation.
  • GeoMOOSE is a standalone application. No CGI/PHP
    required.

13
What services means.
  • One service (or layer) being broken DOES NOT
    break the application as whole.
  • Interfaces can be customized in every way.
    Including addition and elimination of tools.
    Without ever touching the code base.
  • GeoMOOSE can integrate with existing scripts and
    tools.

14
Other advantages.
  • GeoMOOSE does not have any direct server-side
    dependencies. GeoMOOSE itself is only HTML and
    Javascript files!
  • The majority of functionality can be achieved
    using just Mapserver.
  • Advanced functionality can a be written using
    simple short scripts in any programming language.

15
But wait, theres more!
  • Small Server Foot Print. Even with all of the
    scripts, art-work, and demonstration data,
    GeoMOOSE is less than 15 MB.
  • Low server loading. Since GeoMOOSE is not
    rendered by a script all the server must do is
    serve static pages.
  • Components are re-usable!
  • GeoMOOSE is complete, no need for significant
    programming!

16
Whatever, how do I install it?
  • Good question! Well cover that today.
  • http//www.geomoose.org/ is the home page,
    installation and download links are available
    there!
  • Download Size (including MS4W Demos and Source
    tree) 14 MB

17
Scope of this Workshop
  • MS4W installation.
  • This presentation will focus mainly on installing
    and running GeoMOOSE on Windows with Apache
  • The package includes IIS instructions for those
    who would prefer IIS on Windows but it will not
    be covered.
  • We welcome Linux and Mac OS/X users but the
    slides will only loosely pertain to your
    installations.

18
What-chew-need?
  • The provided CD!
  • A computer capable of running MS4W (or Mapserver
    and Apache)
  • Any Windows version that supports Services
  • Would recommend at least a Pentium IV with 512 Mb
    of RAM

19
Extracting the MS4W Install
  • Right click on the ms4w zip file and click
    Extract All

20
Extracting the MS4W Install
  • Click Next

21
Extracting the MS4W Install
  • Change the path to c\ or d\, this will create a
    ms4w folder on that drive.

22
Extracting MS4W Package
  • Relax! The extraction takes about 3 minutes.
  • You should see this when finished.

23
Substitution Warning!
  • C\ will be used for the rest of the
    presentation. If you used D\ or any other drive
    letter for the MS4W install, continue as if C\
    translates to your drive letter of choice!

24
Get Apache Running
  • Go to the C\MS4W directory, it should look like
    this

25
Get Apache Running
  • Double click on the icon apache-install.bat
  • IF YOU HAVE IIS RUNNING STOP ALL IIS SERVICES!

26
Get Apache Running
  • After double clicking the icon a terminal window
    will pop up with some ugly diagnostic messages.
    This window will ultimately close.
  • After this window closes, Apache should be
    running.
  • The apache-install.bat script installed a
    service. If you would like to remove the service
    later all you need to do is double-click the
    apache-uninstall.bat file.

27
Test Apache and PHP
  • The first test is to make sure that Apache is, in
    fact, working. Type http//localhost into your
    favorite Web-browser. It should look something
    like this

28
Test Apache and PHP
  • Now enter http//localhost/phpinfo.php into the
    Web Browser and you should see

29
Extract GeoMOOSE Application
  • Filename on CD
  • Click Extract All

30
Extract GeoMOOSE Application
  • Click Next

31
Extract GeoMOOSE Application
  • Use the Same Path as the MS4W Install

32
Extract GeoMOOSE Application
  • Go Back to C\MS4W
  • Restart Apache by double clicking
    apache-restart.bat

33
Test the GeoMOOSE Demo App
  • Clear the browser cache and go to
    http//localhost in your web browser
  • Scroll down to the bottom, it should look like
    this

34
Test the GeoMOOSE Demo App
  • Click on the County Demo

35
You should now see.
36
A Brief Aside on Organization
  • Index.html
  • The page actually requested by the server.
  • Lib/GeoMOOSE.js
  • The compiled Javascript library.
  • Statedemo.xml
  • A Mapbook, service and layer configuration.
  • Configuration.js
  • Site Configuration options.
  • .map
  • Mapserver Mapfile that define how to access and
    render data.

37
Demo of Built-in Tools
Zoom To Full Extent
Zoom to Previous Extent
Zoom to Next Extent
Reload Layers
Clear Selection
Measure Length
Measure Area
Zoom Out
Identify
Zoom In
Select
Pan
Print
38
Demo of Built-in Tools
  • One of the presenters demonstrates stuff in the
    browser.

39
Adding a Dataset to GeoMOOSE
  • Goal
  • Get a layer to display in GeoMOOSE
  • Get that layer to be identifiable
  • Add the ability to select and highlight objects
    from that layer.

40
Adding a Dataset to GeoMOOSE
  • How Configuring Layers Works in GeoMOOSE
  • Each layer in GeoMOOSE has its own Mapserver
    Mapfile
  • Each layer/Mapfile is referenced in the Mapbook,
    an XML file that contains the majority of
    GeoMOOSEs configuration

41
Adding a Layer to GeoMOOSE
  • Copy the monuments Folder from the CD to
  • C\ms4w\apps\GeoMOOSE\maps_countydemo

42
Adding a Dataset to GeoMOOSE
  • In this directory you will find
  • monuments.map
  • This is a Mapserver Mapfile. It is provided as a
    time saver. If you require more knowledge about
    Mapserver Mapfiles please visit the Mapserver
    website http//mapserver.gis.umn.edu
  • monuments.shp, monuments.shx, monuments.dbf

43
Adding a Layer to GeoMOOSE
  • Add the Layer to the Mapbook
  • Go to C\ms4w\apps\GeoMOOSE\htdocs
  • Edit the countydemo.xml
  • Double clicking on countydemo.xml will open it
    in IE! Right-click on the statedemo.xml and click
    Open With and then WordPad (or your
    favorite text editor)

44
Add a Layer to GeoMOOSE
  • Scroll to the Fire Stations entry and copy it.

45
Add a Layer to GeoMOOSE
  • Paste the Fire Stations into the file again.
    Should look like this

46
Add a Layer to GeoMOOSE
  • Remove the popupstrue and datatrue
    strings.
  • Change Fire Stations to Monuments
  • Change the contents of ltfilegtlt/filegt to
  • ./monuments/monuments.map
  • When completed it should look like this

ltmap title"Monuments defaulttruegt
ltfilegt./monuments/monuments.maplt/filegt lt/mapgt
47
Add a Layer to GeoMOOSE
  • Save the file.
  • Clear the Web browsers Cache (Temporary Internet
    Files)
  • Reload the web-browser.

48
Add a Layer to GeoMOOSE
  • The Page should now have your layer

49
Make that Layer Identify!
  • The Monuments file has a few columns
  • COGO (the ID)
  • OLD
  • HYPERLINK
  • PHOTO
  • TIES

50
Make that Layer Identify!
  • We want to show the COGO and OLD IDs
  • Open a new text document and add the following

lttrgt lttd colspan"2"gtltbgtMonument
Layerlt/bgtlt/tdgt lt/trgt lttrgt lttdgtCOGOlt/tdgtlttdgtCOGO
lt/tdgt lt/trgt lttrgt lttdgtOld IDslt/tdgtlttdgtOLDlt/tdgt lt
/trgt lttrgtlttd colspan"2"gtlthrgtlt/tdgtlt/trgt
51
Make that Layer Identify!
  • Save the file to the monuments directory
  • (C\ms4w\apps\GeoMOOSE\maps_countydemo\monuments)
  • Name the file identify_monuments.html
  • Your monuments directory should now look like
    this

52
Make that Layer Identify!
  • Now, we need to add it to the Identify tools
    Mapfile.
  • The Identify tool is a separate service based on
    Mapserver.
  • Identify does not require anything but the
    Mapfile, not additional scripting required.
  • Open the file
  • C\ms4w\apps\GeoMOOSE\maps_countydemo\identify.map

53
Make that Layer Identify
  • Create a new Layer entry in the Mapfile
  • The quickest way to do this is copy and paste
    another entry and modify it.

LAYER NAME 'Monuments' DATA
'monuments/monuments.shp' STATUS ON TYPE
POINT TOLERANCE 2000 TOLERANCEUNITS
INCHES TEMPLATE 'monuments/identify_monuments.ht
ml' END
54
Select It!
  • Configuring the Select tool requires changing the
    select.map file in the demo directory
  • C\ms4w\apps\GeoMOOSE\maps_countydemo
  • And adding it to the Mapbook. Only one layer can
    be selected from at a time!

55
Select It!
  • Select Requires adding even more than identify
    since you need to code the highlighting and
    symbology again.

LAYER NAME 'Monuments' DATA
'monuments/monuments.shp' STATUS ON TYPE
POINT HEADER 'monuments/header.html'
TEMPLATE 'monuments/record.html' FOOTER
'monuments/footer.html' CLASS SYMBOL
'star' SIZE 15 COLOR -1 -1
-1 OUTLINECOLOR 255 255 0 END END
56
Select It!
  • Open the Mapbook XML File
  • C\ms4w\apps\GeoMOOSE\htdocs\countydemo.xml

57
Select It!
  • Find the ltservice titleSelect Feature gt
    entry. It looks like this

ltservice title"Select Feature" default"true"
locked"true" cursor"url(cursors/select.cur),
auto" shape"box" type"inspect-search"
icon"shared/images/toolbar/draw_polygon.jpg"
highlight"shared/images/toolbar/draw_polygon_sele
cted.jpg"gt lturlgtphp/select.phplt/urlgt
ltinput type"multipoint" name"coords"/gt
ltinput type"hidden" name"shape" value"poly"/gt
ltinput type"hidden" name"map"
value"./select.map"/gt ltinput type"hidden"
name"select" value"../../maps_countydemo/select.
map"/gt lt!--
LAYER_NAMECOLUMN_NAME to specify which query
column to return --gt ltinput
type"select" name"layer" title"Layer to
Select"gt ltoption value"ParcelsPIN"gtParcelslt/op
tiongt ltoption value"FireStationsDak_GIS__1"gtFir
e Stationslt/optiongt lt/inputgt
ltinput type"hidden" name"output"
value"html"/gt lt/servicegt
58
Select It!
  • Change the highlighted line

ltservice title"Select Feature" default"true"
locked"true" cursor"url(cursors/select.cur),
auto" shape"box" type"inspect-search"
icon"shared/images/toolbar/draw_polygon.jpg"
highlight"shared/images/toolbar/draw_polygon_sele
cted.jpg"gt lturlgtphp/select.phplt/urlgt
ltinput type"multipoint" name"coords"/gt
ltinput type"hidden" name"shape" value"poly"/gt
ltinput type"hidden" name"map"
value"./select.map"/gt ltinput type"hidden"
name"select" value"../../maps_countydemo/select.
map"/gt lt!--
LAYER_NAMECOLUMN_NAME to specify which query
column to return --gt ltinput
type"select" name"layer" title"Layer to
Select"gt ltoption value"ParcelsPIN"gtParcelslt/op
tiongt ltoption value"FireStationsDak_GIS__1"gtFir
e Stationslt/optiongt ltoption valueMonumentsCOGO
gtMonumentslt/optiongt lt/inputgt
ltinput type"hidden" name"output"
value"html"/gt lt/servicegt
59
PRINTING!!!
  • For Printing to Work, we need to first extract
    fpdf!
  • Right Click on fpdf16.pdf
  • Select Extract All
  • Path C\ms4w\apps\GeoMOOSE\htdocs\php\fpdf

60
Now Click Print!!!
61
Thus concludes
  • Todays entertainment
Write a Comment
User Comments (0)
About PowerShow.com