To find a suitable land to develop a dream vacation home GEO376 Final Python Project Helen Peng May 2010.

Slides:



Advertisements
Similar presentations
WITHOUT LANGUAGE [ DEVELOPING GEO-PROCESSING MODELS USING ARCGIS MODELBUILDER 10 ] PROGRAMMING R. RYAN STEVENS / GIS RESEARCH ANALYST / THE POLIS CENTER.
Advertisements

Best Location For Amusement Park Geography 4050 Dr. Peterson Fall 03.
* Simple Editing * Feature Creation Tools * Labels & Annotation
NSF DUE ; Module 4.3. NSF DUE ; GeoTEd Partners Module name and number.
Geoprocessing; Useful Tools You Should Know in ArcToolbox Unlock the hidden secrets of ArcToolbox to discover tools that make your work easier and analysis.
GIS UPDATE? ARE YOU TAKING NOTES? How will you remember what you did if you do not take notes. Lab 9 this week: Music Festival 3: Vector Analysis.
Addressing Lack of Park Space in Los Angeles Ryan Johnson UP 206 Final Presentation March 14, 2011.
GIS Level 2 MIT GIS Services
Spatial Analysis – vector data analysis
Step By Step. Step 1 Building Base Data Concern Determine Concern 3 levels, based on number of viewers and area attributes. Route system usually provides.
Raster Data. The Raster Data Model The Raster Data Model is used to model spatial phenomena that vary continuously over a surface and that do not have.
NR 322: Single Layer Analysis Jim Graham Fall 2008 Chapter 8 & 9.
Cost Path Analysis of Skid Trails Using GIS Laura Heath December 14, 2006 FOR 557.
Intro. To GIS Lecture 6 Spatial Analysis April 8th, 2013
HUMA HUSAIN UP206A – WINTER 2011 FINAL PROJECT Childcare in LA County.
Fundamentals of GIS Lecture Materials by Austin Troy except where noted © 2008 Lecture 14: More Raster and Surface Analysis in Spatial Analyst Using.
GIS Tools Workflow of GIS Tools to Determine Properties Suitable for Migratory Bird Foraging Sites.
Habitat Analysis in ArcGIS Use of Spatial Analysis to characterize used resources Thomas Bonnot
Selecting and Displaying Features. Why do you need to select features? Why do you need to select features? Selection methods Selection methods Select.
Esri International User Conference | San Diego, CA Technical Workshops | Python – Getting Started Drew Flater, Ghislain Prince July 12 - July 14, 2011.
Spatial Analysis (Vector I) Reading Assignment: Bolstad Chapter 9 (pp )
GIS2: Geo-processing and Metadata Treg Christopher.
Applied Cartography and Introduction to GIS GEOG 2017 EL
Introduction to ArcPy. Topics What is ArcPy? Accessing geoprocessing tools using ArcPy Writing scripts using ArcPy.
Major parts of ArcGIS ArcView -Basic mapping, editing and Analysis tools ArcEditor -all of ArcView plus Adds ability to deal with topological and network.
GIS concepts, skills and tools
School of Geography FACULTY OF ENVIRONMENT Introduction to ArcToolbox and Geoprocessing.
Introduction to Raster Spatial Analysis Using GIS-- Introduction to GIS Raster Query Map Calculation Zonal statistics Terrain functions Viewshed.
Exploring ArcToolbox Presented by: Isaac Johnson.
Copyright © 2006 by Maribeth H. Price 8-1 Chapter 8 Geoprocessing.
CFR 250/590 Introduction to GIS, Autumn D Analysis & Surface Modeling © Phil Hurvitz, vector_analysis_1.ppt 1  Overview 3D Analysis &
Advanced GIS Using ESRI ArcGIS 9.3 3D Analyst part 2.
Fundamentals of GIS Lecture Materials by Austin Troy except where noted © 2008 Lecture 13: Introduction to Raster Spatial Analysis Using GIS-- By.
Copyright © 2006 by Maribeth H. Price 1-1 How does GIS work? Data storage The ArcGIS Interface.
Copyright © 2006 by Maribeth H. Price 15-1 Chapter 15 Raster Analysis.
Map overlays & Geoprocessing Learn about spatial analysis functions overlays, clipping & buffering Use overlays to analyze multiple spatial criteria Understand.
Python Arrays. An array is a variable that stores a collection of things, like a list. For example a list of peoples names. We can access the different.
CE 697V, Project 41 Project 4: Geoprocessing Script November 10, 2006 Kwangbae Kim.
Geographic Data in GIS. Components of geographic data Three general components to geographic information Three general components to geographic information.
Multiplication with Arrays and Boxes – A Visual Model.
Conclusion BACKGROUND Since the basis of this analysis is not based on the skill of the offender, but rather, an inherent dependence on environmental and.
Analysis in 9.0. What’s Next To be really accomplished in GIS (or GIT) you need the following … –Vector GIS (You got it) –Raster GIS (FOR556) –Expert.
Roads without trails Streams Mameyes Watershed Boundary Intersect Buffer 50 meters Buffer 100 meters Intersect represents all of the areas along stream.
GEOG 2007A An Introduction to Geographic Information SystemsFall, 2004 C. Earl Queries can be used: to check data correctness to obtain info as steps in.
Intro. To GIS Pre-Lab Spatial Analysis April 1 st, 2013.
Chapter 10- Map Overlays and Geoprocessing Copyright © 2015 by Maribeth H. Price 10-1.
Spatial Analysis – vector data analysis Lecture 8 10/12/2006.
Lecture 10: Geoprocessing with Python (II) Dr. Taysir Hassan Abdel Hamid Associate Professor, Information Systems Dept., Faculty of Computers and Information.
Presented by: Shahab Spring Introduction Data Analytics Plugins Learning Resources.
Pesticide Use Web Mapping Application Joanna Nishimura Fall 2014.
UNIT 3 – MODULE 6: Data Analysis. TERMINOLOGY There are several terms that are important to know when discussing data analysis: – Entity – an individual.
Python Fundamentals: Complex Data Structures Eric Shook Department of Geography Kent State University.
Introduction to GIS Programming Final Project Submitted by Todd Lenkin Geography 375 Spring of 2011 American River College.
Graduate Students, CEE-6190
Chapter 8 Raster Analysis.
Vector Analysis Ming-Chun Lee.
Physical Structure of GDB
Improving Georeferencing Workflow with Python
Spatial Models – Raster Stacy Bogan
Presented by Shaynee Gulliford
A PYTHON SCRIPT TO PAN-SHARPEN IMAGERY
ArcToolbox A collection of commands In 11 toolboxes
GEOG 375 Final Project Robert Abbotts Spring 2013.
Lecture 2: Review of Raster Operations
Spatial Analysis and Functions
Using GIS to Create Demand Response Service Schedule Zones and Times
URBDP 422 Urban and Regional Geo-Spatial Analysis
Distance Calculations Geodesic and Cartesian
Midwest-bound A Site Suitability Analysis of South Bend, Indiana for Relocation by Joi Misenti Geog 375--Spring 2016.
GregWroblicky_script_Part01.py Source Datasets.
Presentation transcript:

To find a suitable land to develop a dream vacation home GEO376 Final Python Project Helen Peng May 2010

Brief Description GEO376 Final Python Project Helen Peng May 2010 The Python script is to create vacation-home footprints in the suitable land where can see rivers and access by roads. It is divided into two parts: one is to find suitable lands, the other is to create footprints polygons in the suitable land. Original Data needed: DEM data River shapefile Major road shapefile Boundary Polygon

Project Site—Great Smokey Mountains at Tennessee

Original Data collection Original Data : DEM data River shapefile Major roads Boundary Polygon

Part 1: Created by Model Builder In the first part, it defines three functions. One function is to select proper roads and buffer roads with a certain distance. The second function is to run viewshed analysis for a stream data and convert raster data to polygons. The third function is to intersect road buffer and viewshed polygons, then select polygons with larger areas by calculating areas

Part 1.1 Define function to buffer roads # Define function to clip and select proper roads, then buffer roads with a certain distance def RoadBuffer(boundary_clip, tn_roads, roads_buffer, rds_select_querry, buffer_distance): # Process: Clip gp.Clip_analysis(tn_roads, boundary_clip, roads_shp, "") # Process: Select gp.Select_analysis(roads_shp, road_select, rds_select_querry) # Process: Buffer gp.Buffer_analysis(road_select, roads_buffer, buffer_distance, "FULL", "ROUND", "NONE", "") print "Finished road buffer“ try: # Call RoadBuffer function to buffer selected roads rds_select_querry = "FCC = 'A20' OR FCC = 'A30' OR NAME ='GREAT SMOKY MTNS %'" buffer_distance = "150 Meters" RoadBuffer(boundary_clip, tn_roads, roads_buffer, rds_select_querry, buffer_distance)

Road Buffer def RoadBuffer: Clip Select Select qurry = major roads Buffer buffer_distance = "150 Meters"

Part 1.2 Define function to run viewshed Analysis # Define function to run viewshed analysis for a stream data and convert raster data to polygons def StreamViwshed(boundary_clip, tn_streams, dem1, strm_select_querry, viewshed_poly): # Process: Clip... gp.Clip_analysis(tn_streams, boundary_clip, streams_clip, "") # Process: Select... gp.Select_analysis(streams_clip, streams_select, strm_select_querry) # Process: Viewshed... gp.Viewshed_sa(dem1, streams_select, viewshed_strm, "1", "FLAT_EARTH", "") # Process: Set Null... gp.SetNull_sa(viewshed_strm, viewshed_strm, setnull_view, "VALUE =0") # Process: Reclassify... gp.Reclassify_sa(setnull_view, "VALUE", " ", reclass_view, "DATA") # Process: Raster to Polygon... gp.RasterToPolygon_conversion(reclass_view, viewshed_poly, "SIMPLIFY", "VALUE") try: strm_select_querry = "\"STREETNAME\" LIKE '% Creek' OR \"STREETNAME\" = 'Little Pigeon River'" StreamViwshed(boundary_clip, tn_streams, dem1, strm_select_querry, viewshed_poly)

Viewshed Analysis The visible data represents in green. Not-visible data represents in red.

Set Null The value of visible data is more than 0 and not-visible data is equal to 0. By running a SetNull tool, the step eliminated not-visible data.

Reclassify Analysis

Convert to Polygon

Part 1.3 Define function to intersect # Define function to intersect road buffer and viewshed polygon, then select polygons with larger areas by calculating areas def IntersectCalSel (roads_buffer, viewshed_poly, area_querry, inputShp) # Process: Intersect... gp.Intersect_analysis(roads_buffer + ';' + viewshed_poly, view_intersect, "ALL", "", "INPUT") print "intersect finished" # Process: Calculate Areas gp.CalculateAreas_stats(view_intersect, view_calculateareas) print "calculate area" # Process: Select polygons with larger area gp.Select_analysis(view_calculateareas, inputShp, area_querry) print "select suitable land“ try: # Call function of IntersectCalSel for roads_buffer, viewshed_poly area_querry = "\"F_AREA\" >= 7.43E-06" IntersectCalSel (roads_buffer, viewshed_poly, area_querry, inputShp)

Intersect with Road and Viewshed polygon

Part 2 Create Footprints Polygons In the second part, it reads centroids from the suitable land polygon shapefile, and create footprints polygons from centroids. One is to read geometry features from the suitable land polygon, the other one is to create new footprint polygons. # Create search cursor cur = gp.SearchCursor(inputShp) row = cur.Next() # Describe the new feature class desc = gp.Describe(outputShp) shpFld = desc.ShapeFieldName # Create Array, Point, and Cursor objects pnt = gp.CreateObject("Point") curr = gp.InsertCursor(outputShp) a = 1

Part 2 Create Footprints Polygons While loop is used to get each feature and an array is used to create a footprint. while row: # read a centroid from a polygon provided feat = row.shape centroid = feat.centroid print "The midpoint/centroid is: "+ centroid #split string, get x,y values ctr = centroid.split(' ') x = float(ctr[0]) y = float(ctr[1]) print a, x, y #create array and draw the square from centroids, write x, y to excel/textfile array = gp.CreateObject("Array") pnt.x = x pnt.y = y array.Add(pnt) txtFile.write(str(a) + "," + str(x) + "," + str(y)+ "\n") …. a = a + 1 row = cur.Next()

Create Footprint Polygons (with DEM)

Create Footprint Polygons (Zoom In)