4GCN 'UVCVG +PHQTOCVKQP 5GTXKEG HQT 7TDCP...

25
Real Estate Information Service for Urban Development and Planning Team Leader : Joel Stell Team Members : Joseph DeLeone, Amanda Eljaouhari, Dakotah Pettry Faculty Advisor : Dr. Sunnie Chung (Faculty Sponsored) Fall 2018 – Spring 2019 EEC 493/494 Department of Electrical Engineering and Computer Science

Transcript of 4GCN 'UVCVG +PHQTOCVKQP 5GTXKEG HQT 7TDCP...

Page 1: 4GCN 'UVCVG +PHQTOCVKQP 5GTXKEG HQT 7TDCP …cis.csuohio.edu/~sschung/cis430/Example_Difference_RawData_Info… · = ? ,vdnkp ikvjwd kq cpiwnct ejctv lu dgcwvkhwn tgcevkxg tgurqpukxg

Real Estate Information Service for Urban Development and Planning

Team Leader : Joel StellTeam Members : Joseph DeLeone, Amanda Eljaouhari, Dakotah Pettry Faculty Advisor : Dr. Sunnie Chung (Faculty Sponsored)

Fall 2018 – Spring 2019EEC 493/494

Department of Electrical Engineering and Computer Science

Page 2: 4GCN 'UVCVG +PHQTOCVKQP 5GTXKEG HQT 7TDCP …cis.csuohio.edu/~sschung/cis430/Example_Difference_RawData_Info… · = ? ,vdnkp ikvjwd kq cpiwnct ejctv lu dgcwvkhwn tgcevkxg tgurqpukxg

Presentation Agenda● Abstract● Background● Introduction● Project Objectives● Technical Approach

○ System Design○ Sample Runs○ Project Timeline○ Project Budget and Budget Justification

● Conclusion● References

Page 3: 4GCN 'UVCVG +PHQTOCVKQP 5GTXKEG HQT 7TDCP …cis.csuohio.edu/~sschung/cis430/Example_Difference_RawData_Info… · = ? ,vdnkp ikvjwd kq cpiwnct ejctv lu dgcwvkhwn tgcevkxg tgurqpukxg

Project Abstract● Design and Development of a Real Estate Information Service System

for Urban Development and Planning.

○ Collecting and Processing of Big Data of Various Types.

○ Design and Build Semi-structured Database with MongoDB.

○ Building a Web Application that Integrates AngularJS, NodeJS, and MongoDB in Order to Dynamically Visualize Information per User Request in 2D and 3D Visual Maps, Charts, and Tables.

Page 4: 4GCN 'UVCVG +PHQTOCVKQP 5GTXKEG HQT 7TDCP …cis.csuohio.edu/~sschung/cis430/Example_Difference_RawData_Info… · = ? ,vdnkp ikvjwd kq cpiwnct ejctv lu dgcwvkhwn tgcevkxg tgurqpukxg

Project Objectives

1. Design and Build Web Service System to Provide Real Estate Market Information for Public to Access.

2. Design a Web Application that :○ Dynamically Visualizes a User Interested Area in a 2D or 3D Map○ Retrieves Related Information ○ Discover Intelligent Information from Data Analytics on the

Related Data in the Selected Area.3. Transform a Variety of Big Data Formats such as Unstructured,

Semi Structured, and 3D Geo Spatial Data Types to Design and Build Semi-Structured MongoDB Database.

Page 5: 4GCN 'UVCVG +PHQTOCVKQP 5GTXKEG HQT 7TDCP …cis.csuohio.edu/~sschung/cis430/Example_Difference_RawData_Info… · = ? ,vdnkp ikvjwd kq cpiwnct ejctv lu dgcwvkhwn tgcevkxg tgurqpukxg

Background● The Big Data is Broken Down into Comprehensible Descriptions of

Neighborhood Real Estate and Labor Market Dynamics.

● Big Data Sources○ Cuyahoga County Open Data

○ https://data-cuyahoga.opendata.arcgis.com/datasets?t=Property%20and%20Use

○ U.S Census Bureau○ https://lehd.ces.census.gov/data/

● Collect the Digitized Records and Perform Large Scale Data

Analytics

● Currently Based on Cuyahoga, but can be Applied to Other Regions.

Page 6: 4GCN 'UVCVG +PHQTOCVKQP 5GTXKEG HQT 7TDCP …cis.csuohio.edu/~sschung/cis430/Example_Difference_RawData_Info… · = ? ,vdnkp ikvjwd kq cpiwnct ejctv lu dgcwvkhwn tgcevkxg tgurqpukxg

Introduction● AngularJS

○ Used to Make the Web Application Which Connects to MongoDB Using NodeJS○ Two-Way Data Binding Improves Execution Because it Allows for Automatic

Synchronization

● MongoDB is Our Solution to Handling Big Data : ○ Able to Handle a Variety of Big Data Types Efficiently○ Works well with JSON and GeoJSON data○ Easily Communicates with Node

● Communication via NodeJS○ Runtime Environment that Retrieves and Displays Information on the Web

Application○ Handles Client and Server Requests

Page 7: 4GCN 'UVCVG +PHQTOCVKQP 5GTXKEG HQT 7TDCP …cis.csuohio.edu/~sschung/cis430/Example_Difference_RawData_Info… · = ? ,vdnkp ikvjwd kq cpiwnct ejctv lu dgcwvkhwn tgcevkxg tgurqpukxg

Sources of Big Data

Page 8: 4GCN 'UVCVG +PHQTOCVKQP 5GTXKEG HQT 7TDCP …cis.csuohio.edu/~sschung/cis430/Example_Difference_RawData_Info… · = ? ,vdnkp ikvjwd kq cpiwnct ejctv lu dgcwvkhwn tgcevkxg tgurqpukxg

System Design

Page 9: 4GCN 'UVCVG +PHQTOCVKQP 5GTXKEG HQT 7TDCP …cis.csuohio.edu/~sschung/cis430/Example_Difference_RawData_Info… · = ? ,vdnkp ikvjwd kq cpiwnct ejctv lu dgcwvkhwn tgcevkxg tgurqpukxg

Project Methodology

Page 10: 4GCN 'UVCVG +PHQTOCVKQP 5GTXKEG HQT 7TDCP …cis.csuohio.edu/~sschung/cis430/Example_Difference_RawData_Info… · = ? ,vdnkp ikvjwd kq cpiwnct ejctv lu dgcwvkhwn tgcevkxg tgurqpukxg

Technical Components

● MongoDB Design○ ~250,000 Documents In 1 Collection in a Single Database○ Java Application that Parses JSON File and Inserts Into Database

■ Reads JSON File Input Byte by Byte, Inserting Each Lot as Its Own Document■ All lots are compiled into 1 collection■ Output: Automated insertion into database■ Can be reapplied in other instances

● NodeJS○ Receives user input via node.response○ Breaks response into an array of the JSON structure○ Queries Mongo with array○ Returns results to results webpage

Page 11: 4GCN 'UVCVG +PHQTOCVKQP 5GTXKEG HQT 7TDCP …cis.csuohio.edu/~sschung/cis430/Example_Difference_RawData_Info… · = ? ,vdnkp ikvjwd kq cpiwnct ejctv lu dgcwvkhwn tgcevkxg tgurqpukxg

Technical Components

● Introduction Webpage○ Uses HTML/Cascading Style Sheet to Simplify Content Position and Style○ Uses AngularJS to implement MVC by Splitting Application Into Components &

Serves as a Pipeline.

● Results Webpage○ Receives Results Data via Post○ Visualizations:

■ HTML Tables: Compressed Table & Large Pop Out Table■ ZingChart Treemap: Highlights Searched Cities, and Sorts via Size■ ChartJS Radar Chart: Visualizes 5 Different Analytics Per City■ ChartJS Dynamic Charts: 5 different analytics per city between bar, pie, and line■ 2D/3D Map by Leaflet: Visual Representation of Returned Lots Outlined on Map■ City Summary: Compares the First City Searched to Ohio averages`

Page 12: 4GCN 'UVCVG +PHQTOCVKQP 5GTXKEG HQT 7TDCP …cis.csuohio.edu/~sschung/cis430/Example_Difference_RawData_Info… · = ? ,vdnkp ikvjwd kq cpiwnct ejctv lu dgcwvkhwn tgcevkxg tgurqpukxg

Sample Run

User Input

Parcel city: “BEDFORD”

Page 13: 4GCN 'UVCVG +PHQTOCVKQP 5GTXKEG HQT 7TDCP …cis.csuohio.edu/~sschung/cis430/Example_Difference_RawData_Info… · = ? ,vdnkp ikvjwd kq cpiwnct ejctv lu dgcwvkhwn tgcevkxg tgurqpukxg

Sample Run

All Lots Returned Matching User Input

Parcel city: “BEDFORD”

Page 14: 4GCN 'UVCVG +PHQTOCVKQP 5GTXKEG HQT 7TDCP …cis.csuohio.edu/~sschung/cis430/Example_Difference_RawData_Info… · = ? ,vdnkp ikvjwd kq cpiwnct ejctv lu dgcwvkhwn tgcevkxg tgurqpukxg

New Sample Run

User Input

City: “BEREA”

Page 15: 4GCN 'UVCVG +PHQTOCVKQP 5GTXKEG HQT 7TDCP …cis.csuohio.edu/~sschung/cis430/Example_Difference_RawData_Info… · = ? ,vdnkp ikvjwd kq cpiwnct ejctv lu dgcwvkhwn tgcevkxg tgurqpukxg

New Sample Run City: “BEREA”

Page 16: 4GCN 'UVCVG +PHQTOCVKQP 5GTXKEG HQT 7TDCP …cis.csuohio.edu/~sschung/cis430/Example_Difference_RawData_Info… · = ? ,vdnkp ikvjwd kq cpiwnct ejctv lu dgcwvkhwn tgcevkxg tgurqpukxg

New Sample RunZoomed in 3D map Zoomed out 2D map

Page 17: 4GCN 'UVCVG +PHQTOCVKQP 5GTXKEG HQT 7TDCP …cis.csuohio.edu/~sschung/cis430/Example_Difference_RawData_Info… · = ? ,vdnkp ikvjwd kq cpiwnct ejctv lu dgcwvkhwn tgcevkxg tgurqpukxg

DEMO

Page 18: 4GCN 'UVCVG +PHQTOCVKQP 5GTXKEG HQT 7TDCP …cis.csuohio.edu/~sschung/cis430/Example_Difference_RawData_Info… · = ? ,vdnkp ikvjwd kq cpiwnct ejctv lu dgcwvkhwn tgcevkxg tgurqpukxg

Project Updates

● Web Page Redesign○ Introduction Page

■ Auto-Fill Search Dropdown■ Revamped Layout

○ Results Page■ Condensed Default Searched Information ■ Implemented Expanded View Option for More In-depth Information■ Decreased Amount of Returned Results in Default View■ Implemented a Variety of Data Visualizations

● Node Server Communication Structure Redesign○ Formatted Array Query○ Request/Response for Serving Information to Webpage

Page 19: 4GCN 'UVCVG +PHQTOCVKQP 5GTXKEG HQT 7TDCP …cis.csuohio.edu/~sschung/cis430/Example_Difference_RawData_Info… · = ? ,vdnkp ikvjwd kq cpiwnct ejctv lu dgcwvkhwn tgcevkxg tgurqpukxg

Results and Discussions

● Problems Encountered○ Website Latency Due to Large Amount ( Over 1,000) of lots on 3D map○ Limiting Amount of Lots Within the Current View

■ Panning around removes and adds lots in view○ Overwhelming Data Has to be Condensed Into Meaningful Descriptions

■ Different, Dynamic Visualizers to Display Data○ Incorrect Data Led to Fragmentation

■ Lots have Incorrect Spellings or the Wrong Location

● Results○ Performance of System Design Proved to be Successful for Analyzing Big Data○ Can Be Utilized in the Future for More Complex Real-Time Data Analytics

Page 20: 4GCN 'UVCVG +PHQTOCVKQP 5GTXKEG HQT 7TDCP …cis.csuohio.edu/~sschung/cis430/Example_Difference_RawData_Info… · = ? ,vdnkp ikvjwd kq cpiwnct ejctv lu dgcwvkhwn tgcevkxg tgurqpukxg

Project Timeline1st Semester4 Project phases:

Introduction-Team Introduction

Design-Research Software-Project Structures and Algorithms

Implementation-Build Database, Website-Build Node/Angular Files-Integrate Everything

Finalizing-Test Integration-Clean up Code

Page 21: 4GCN 'UVCVG +PHQTOCVKQP 5GTXKEG HQT 7TDCP …cis.csuohio.edu/~sschung/cis430/Example_Difference_RawData_Info… · = ? ,vdnkp ikvjwd kq cpiwnct ejctv lu dgcwvkhwn tgcevkxg tgurqpukxg

Project Timeline

2nd Semester3 Project phases:

Implementation-Build 3D Map-Build Additional Visualizers-Incorporate Data Analytics

Testing-Test Final Websites

Finalizing-Refinement of System-Implement on Big Data Lab

Page 22: 4GCN 'UVCVG +PHQTOCVKQP 5GTXKEG HQT 7TDCP …cis.csuohio.edu/~sschung/cis430/Example_Difference_RawData_Info… · = ? ,vdnkp ikvjwd kq cpiwnct ejctv lu dgcwvkhwn tgcevkxg tgurqpukxg

Project BudgetItems Cost($) Date of Approval Total Cost($)

Server System (below)

Ram 500

Motherboard 160

CPU 515

CPU Cooler 30

GPU 560

Power Supply 130

Hard Drive 65

SSD 100 Nov 21, 2017 2,060 (Budget approved)

S & H 39 2,099

Updated GPU 730

S & H + Tax 13.75+59.50 Nov 21, 2017 803.24

2,342.24

When Dealing with Big Data, the Importance of a Powerful System that can Handle Serving Big Data to Multiple Systems can’t be Stressed Enough.

Page 23: 4GCN 'UVCVG +PHQTOCVKQP 5GTXKEG HQT 7TDCP …cis.csuohio.edu/~sschung/cis430/Example_Difference_RawData_Info… · = ? ,vdnkp ikvjwd kq cpiwnct ejctv lu dgcwvkhwn tgcevkxg tgurqpukxg

ConclusionIn Summary,

The Final Project Fulfills all Project Objectives with...

1. The Creation of a Web Service that Receives User Input2. Transformation of Big Data into a Semi-structured MongoDB3. Dynamically Visualizes User Input in a Multitude of Ways

Ultimately, This Leaves an Easy-to-Use Web Service That Can Display Large Scale Census Data of the Cuyahoga County Area

Page 24: 4GCN 'UVCVG +PHQTOCVKQP 5GTXKEG HQT 7TDCP …cis.csuohio.edu/~sschung/cis430/Example_Difference_RawData_Info… · = ? ,vdnkp ikvjwd kq cpiwnct ejctv lu dgcwvkhwn tgcevkxg tgurqpukxg

Future Upgrades & Recommendations

○ Increase Complexity of Data■ Adding Demographic on Residents and Working People

○ More Complex Descriptive and Predictive Data Analysis○ Additional Search Functionality Features○ Extend Data Visualizations

■ Provide More Dimensions for Advanced Analytics○ Angular is Too Complex for an Application of Small Size

■ Simpler Framework is Recommended

Page 25: 4GCN 'UVCVG +PHQTOCVKQP 5GTXKEG HQT 7TDCP …cis.csuohio.edu/~sschung/cis430/Example_Difference_RawData_Info… · = ? ,vdnkp ikvjwd kq cpiwnct ejctv lu dgcwvkhwn tgcevkxg tgurqpukxg

References[1] Code Handbook. (2018). How To Use Leaflet In Angular Web Apps - Code Handbook. [online] Available at: https://codehandbook.org/use-leaflet-in-angular/ [Accessed 17 Nov. 2018].

[2] Depts.washington.edu. (2018). [online] Available at: http://depts.washington.edu/celtweb/wordpress/wp-content/uploads/2014/12/Assessing-Lifelong-Learning.pdf [Accessed 19 Nov. 2018].

[3] Evince, “MEAN Stack Architecture: AngularJS, NodeJS, ExpressJS & MongoDB,” Evince Blog: From Tech Gurus to Techies, 15-Oct-2018. [Online]. Available: https://evincedev.com/blog/mean-stack-architecture/. [Accessed: 25-Nov-2018].

[4] Jtblin.github.io. (2018). angular-chart.js - beautiful, reactive, responsive charts for Angular.JS using Chart.js. [online] Available at: http://jtblin.github.io/angular-chart.js/ [Accessed 17 Nov. 2018].

[5] Nspe.org. (2018). Code of Ethics | National Society of Professional Engineers. [online] Available at: https://www.nspe.org/resources/ethics/code-ethics [Accessed 19 Nov. 2018].

[6] www.tutorialspoint.com. (2018). MongoDB Quick Guide. [online] Available at: https://www.tutorialspoint.com/mongodb/mongodb_quick_guide.htm [Accessed 19 Nov. 2018].

[7] MVC: Model, View, Controller,” Codecademy. [Online]. Available: https://www.codecademy.com/articles/mvc. [Accessed: 29-Nov-2018].

[8] Validator.w3.org. (2018). Help for The W3C Markup Validation Service. [online] Available at: https://validator.w3.org/docs/help.html [Accessed 29 Nov. 2018].