28
Constructing an Open Source Powerhouse Jessica Fendos MN Department of Employment and Economic Development University of Minnesota, CURA 2007 FOSS4G Conference Sept. 25, 2007

Constructing an Open Source Powerhouse

Embed Size (px)

DESCRIPTION

Jessica Fendos MN Department of Employment and Economic Development University of Minnesota, CURA. Constructing an Open Source Powerhouse. - PowerPoint PPT Presentation

Citation preview

Page 1: Constructing an Open Source Powerhouse

Constructing an Open Source Powerhouse

Jessica Fendos

MN Department of Employment and Economic DevelopmentUniversity of Minnesota, CURA

2007 FOSS4G Conference Sept. 25, 2007

Page 2: Constructing an Open Source Powerhouse

Sept. 25, 2007 FOSS4G Conference

Background information Data source and dynamic interface Dynamic mapping and reporting Building blocks of Open Source bundle Observations on strengths and limitations Questions

Presentation Outline

2

Page 3: Constructing an Open Source Powerhouse

Sept. 25, 2007 FOSS4G Conference

Minnesota 3D Overview

A GIS and internet-based mapping application aims to narrow the spatial mismatch between affordable housing and jobs for the Twin Cities metro area.

A portal that connects the general public, planners, developers, and public policy makers to employment, housing and economic development data.

3

Page 4: Constructing an Open Source Powerhouse

4

Page 5: Constructing an Open Source Powerhouse

Cross-Sector Data

5

Page 6: Constructing an Open Source Powerhouse

Sept. 25, 2007 FOSS4G Conference

Developed by DEED and CURA, sponsored by Technology Opportunities Program grant.

Partner with the U.S. Census Bureau, Metropolitan Council, Housing Link, MN Department of Human Services, MN Child Care Resources,…

Launched in October of 2006, visited by users worldwide.

Partnership

6

Page 7: Constructing an Open Source Powerhouse

Sept. 25, 2007 FOSS4G Conference

Built on an open source bundle integrating MapServer, PostgreSQL, and Chameleon

Interactive system that automates commute shed and labor shed maps and community profile reports generation.

The Technical Side ….

7

Page 8: Constructing an Open Source Powerhouse

2007 FOSS4G Conference Sept. 25, 2007 8

PostGIS Data

Chameleon Application

Developer

M3D Users

The Open Source Framework

.phtml

.map

.html (CWC2, .js, .css)

*Based on Chameleon Web Mapping Framework, Tyler Mitchell, 2005.

Page 9: Constructing an Open Source Powerhouse

Sept. 25, 2007 FOSS4G Conference

3 Dynamics

9

Page 10: Constructing an Open Source Powerhouse

2007 FOSS4G Conference Sept. 25, 2007 10

Page 11: Constructing an Open Source Powerhouse

Sept. 25, 2007 FOSS4G Conference

Census Origin Destination Data

11

Local Employment Dynamics Data

Job counts

Work block group Work X, Y Od04_wbg w

Home block group Home X, Y

w.hbg

Page 12: Constructing an Open Source Powerhouse

Sept. 25, 2007 FOSS4G Conference

Map Commute shed and Labor shed

Dynamic Mapping

12

Select by Area Rectangle City Neighborhoo

d

Display by Dot (block group) City Both

Page 13: Constructing an Open Source Powerhouse

2007 FOSS4G Conference Sept. 25, 2007 13

Page 14: Constructing an Open Source Powerhouse

Sept. 25, 2007 FOSS4G Conference

Dynamic Reports

14

Select by Area Rectangle City Neighborhood

Select Report Workers Workplace Housing Demographics

Page 15: Constructing an Open Source Powerhouse

2007 FOSS4G Conference Sept. 25, 2007

Page 16: Constructing an Open Source Powerhouse

Sept. 25, 2007 FOSS4G Conference

Methodology - Building Blocks

16

M3D.map

M3D.phtmlM3D.html

SQL Connection String

MapServerMapfile

PostgreSQL

DatabaseChameleo

nTemplates

Page 17: Constructing an Open Source Powerhouse

Sept. 25, 2007 FOSS4G Conference

LAYER # Begin Laborshed

NAME "Laborshed“

STATUS OFF

DATA "the_geom FROM dummypoint"

CONNECTION "user=XXXX password=XXXX dbname=M3D host=XXXX port=XXXX"

CONNECTIONTYPE postgis

TYPE POINT

CLASSITEM "all_jobs"

CLASS NAME ">100 Commuters" EXPRESSION ([all_jobs]>100) SYMBOL "circle" SIZE

12 COLOR 0 109 44 END …

END # End of Laborshedshed layer

Dynamic Mapping - Mapfile

17

Define Display Area Type

Page 18: Constructing an Open Source Powerhouse

Sept. 25, 2007 FOSS4G Conference

LAYER # Selected Block Groups

NAME "BG_SELECT"

STATUS OFF

DATA "the_geom from censusbg_attributed"

CONNECTION "user=XXXXX password=XXXX dbname=M3D

host=XXXX port=XXXX"

CONNECTIONTYPE postgis

TYPE LINE

CLASS NAME "Selected Block Groups" STYLE SIZE 2 COLOR 0 255 255

SYMBOL "circle" END END

END # Selected Block Groups

Dynamic Mapping - Mapfile

18

Define Selection Area Type

Page 19: Constructing an Open Source Powerhouse

<script language="JavaScript" type="text/javascript">

function SelectTool(){

for (var i=0; i < document.forms[0].rpt.length; i++) {

if (document.forms[0].rpt[i].checked)

{

rad_val = document.forms[0].rpt[i].value; }

}

document.forms[0].SelectValue.value=(rad_val);

}

</script>

Dynamic Mapping - M3D.html

19

<input type="hidden" name="SelectValue“ value="[$SelectValue$]">

Page 20: Constructing an Open Source Powerhouse

2007 FOSS4G Conference Sept. 25, 2007 20

Dynamic Mapping - M3D_Report.html

<script language="JavaScript" type="text/javascript">

if(document.forms[0].SelectValue.value == 'LSHED')

{document.write('<input type="radio“ name="rpt“

onChange="SelectTool()" value="LSHED"

checked>Dot&nbsp;&nbsp;');}

else

{document.write('<input type="radio" name="rpt“

onChange="SelectTool()“ value="LSHED">

Dot&nbsp;&nbsp;');}

</script>

Page 21: Constructing an Open Source Powerhouse

2007 FOSS4G Conference Sept. 25, 2007 21

Dynamic Mapping - M3D.html

<script language="JavaScript" type="text/javascript">function SelectRegion(){

for (var i=0; i < document.forms[0].area.length; i++) {

if (document.forms[0].area[i].checked) {

rad_val = document.forms[0].area[i].value; } }

document.forms[0].SelectType.value=(rad_val); }

</script>

<input type="hidden" name="SelectType" value="[$SelectType$]">

Page 22: Constructing an Open Source Powerhouse

2007 FOSS4G Conference Sept. 25, 2007 22

Dynamic Mapping -M3D_Report.html

<script language="JavaScript" type="text/javascript"> if(document.forms[0].SelectType.value == 'RECT') {document.write('<input type="radio" name="area" onChange="SelectRegion()" value="RECT" onClick="ROIRectTool57()" checked="true">Rectangle (as drawn)<br/>');} else {document.write('<input type="radio" name="area" onChange="SelectRegion()" value="RECT" onClick="ROIRectTool57()">Rectangle (as drawn) <br/>');} </script>

Page 23: Constructing an Open Source Powerhouse

<cwc2 type="ROIManager" mode="normal" onroichanged="myROIChanged()"/>

<cwc2 TYPE="ROIRectangleTool" Visible="false" Label="Select Area..." toolset="SelectArea"> </cwc2>

g

<cwc2 type="UpdateMap” IMAGEWIDTH="120" LABELALIGN="LEFT" styleresource="NavButtons" visible="true" imagetip="generate report based on selection" label="Generate Map/Report">

<image state="normal"/>

<image state="selected"/>

<image state="hover"/>

</cwc2>

Chameleon ROI Widgets

23

Page 24: Constructing an Open Source Powerhouse

Dynamic Mapping- Chameleon MapDHTML Widget

24

if ($this->getVar( 'SelectValue' ) == "LSHED")

{

if ($this->getVar( 'SelectType' ) == "RECT") {

$oLayer = $poMap->getlayerbyname('Laborshed');

$oLayer->set("status", MS_ON);

$oLayer->set("data", " the_geom FROM (SELECT bg_centroid.the_geom AS the_geom, bg_centroid.objectid AS oid, w.all_jobs FROM bg_centroid right join (select w.hbg_fips, sum(w.jobs_all) as all_jobs from od04_wbg w where the_geom && SetSRID('BOX3D($rMinX $rMinY,$rMaxX $rMaxY)'::box3d,-1)

AND within(the_geom, SetSRID('BOX3D($rMinX $rMinY,$rMaxX $rMaxY)'::box3d,-1) ) GROUP BY w.hbg_fips ORDER BY all_jobs desc ) as od04_wbg w on bg_centroid.fips = w.hbg_fips) AS new_table USING UNIQUE oid USING SRID=-1");

}

}

Page 25: Constructing an Open Source Powerhouse

Sept. 25, 2007 FOSS4G Conference

Strengths Free and Integrated:

Open source software bundle provides the foundation to construct spatial data powerhouse relatively quickly, e.g. MS4W package.

Support Network: Open source users’ group provides support.

Limitations Technical Consultation:

Long distance communication. Application Development Cost:

Takes efforts to integrate building blocks contributed from various sources.

Strengths and Limitations

25

Page 26: Constructing an Open Source Powerhouse

Sept. 25, 2007 FOSS4G Conference

http://jessicafendos.com/FOSS07

Flash Website

26

Page 27: Constructing an Open Source Powerhouse

2007 FOSS4G Conference Sept. 25, 2007 27

Acknowledgements

Oriane Casale, DEED, LMISteve Hine, DEED, LMI

Kris Nelson, University of Minnesota, CURAJeff Matson, University of Minnesota, CURA

Jessica Deegan, Metropolitan CouncilSteve Lime, Department of Natural

ResourcesJulien Samuel-Lacroix, MapGears

Page 28: Constructing an Open Source Powerhouse

2007 FOSS4G Conference Sept. 25, 2007 28

The End….