Making Noise with ArcGIS - Esri Support Homedownloads2.esri.com/MappingCenter2007/resources/...Mario...

Preview:

Citation preview

Making Noise with ArcGISMaking Noise with ArcGIS

by by Jeffery S. Jeffery S. NighbertNighbert

Bureau of Land ManagementBureau of Land ManagementPortland, OregonPortland, Oregon

Ken Ken PerlinPerlin ––““Making NoiseMaking Noise””www.noisemachine.com/talk1www.noisemachine.com/talk1

Tom Patterson Tom Patterson –– ““Getting Real: Getting Real: Reflecting on the New Look of Reflecting on the New Look of National Park Service MapsNational Park Service Maps””

Mario Mario LivioLivio –– ““The Golden RatioThe Golden RatioThe Story of Phi, The WorldThe Story of Phi, The World’’s s

Most Astonishing NumberMost Astonishing Number””

Michael Crichton Michael Crichton –– ““Jurassic ParkJurassic Park””

Columbia Basin Map Columbia Basin Map –– Painted reliefPainted relief

Crater Lake Map Crater Lake Map –– TexturizedTexturized painted reliefpainted relief

Sisters Sisters –– class based class based texturizedtexturized painted reliefpainted relief

KigerKiger Gorge Gorge –– class based class based texturizedtexturizedpainted relief using objectspainted relief using objects

Sphere no BumpsSphere no Bumps Sphere with BumpsSphere with Bumps

Bump Map Objects Bump Map Objects –– Top ViewTop View

Sphere Sphere –– Deciduous TreeDeciduous Tree

Cone Cone –– Evergreen TreeEvergreen Tree

Cube Cube –– Structure/RockStructure/Rock

Spatial Analyst: Cones in a Random PatternSpatial Analyst: Cones in a Random Pattern

Cones_patCones_pat = = abs(eucdistance(con(($$ROWMAPabs(eucdistance(con(($$ROWMAP mod mod int(normalint(normal() * 1 + 20) () * 1 + 20) eqeq 0) and ($$COLMAP mod 0) and ($$COLMAP mod int(normalint(normal() * () * 1 + 20) 1 + 20) eqeq 0),255),#,#,10,#) 0),255),#,#,10,#) -- 10) * (40 / 10)10) * (40 / 10)

Cone GenerationCone Generation

Class objects by pattern by class Class objects by pattern by class Spatial analyst: Generate objects in a random pattern within thSpatial analyst: Generate objects in a random pattern within the aspen e aspen classclass

Raster Calculator: Raster Calculator: aspens_pataspens_pat = = eucdistance(con(($$ROWMAPeucdistance(con(($$ROWMAP mod mod int(normalint(normal() * 1 + 20) () * 1 + 20) eqeq 0) and ($$COLMAP mod 0) and ($$COLMAP mod int(normalint(normal() * 1 + 20) () * 1 + 20) eqeq 0) and [0) and [k_aspensk_aspens] > 0,255),#,#,10,#)] > 0,255),#,#,10,#)

Raster Calculator: Raster Calculator: esri_aspenesri_aspen = sqrt(pow(10,2) = sqrt(pow(10,2) -- pow([aspens_pat],2))pow([aspens_pat],2))

Close upClose up……

How could this process be improved?How could this process be improved?

Greater control over size spacing and Greater control over size spacing and content!content!GIS database drivenGIS database drivenPattern based on dataPattern based on dataCan the pattern be made Can the pattern be made ““smartsmart””??

Stand Structure ClassesStand Structure Classes

Stand Structure Data and Summary TablesStand Structure Data and Summary Tables

Structure FC tableStructure FC table

Create Random Points ToolCreate Random Points Tool

520,622 Points520,622 Points

Point Attribute tablePoint Attribute table

Custom Python Script reads stand structure data table and cursorCustom Python Script reads stand structure data table and cursors s Through thousands of records assigning proper tree data!Through thousands of records assigning proper tree data!

Buffered pts using crown radiusBuffered pts using crown radius

Make a Smart TextureMake a Smart Texture

RasterizeRasterize buffers using crown radiusbuffers using crown radiusRasterizeRasterize buffers using tree heightbuffers using tree height

EucDistance(crown_radiusEucDistance(crown_radius,#,#,#,#),#,#,#,#)

bump_surfacebump_surface = ([a1crown] = ([a1crown] --[a1distance]) / [a1crown]) * [a1height][a1distance]) / [a1crown]) * [a1height]

Add elevation to bump surfaceAdd elevation to bump surface

Hillshade Bump mapHillshade Bump map

Final Bump MapFinal Bump Map

Texture query with Buffer Texture query with Buffer

To Do ListTo Do List

Better random pattern generationBetter random pattern generation–– PerlinPerlin NoiseNoise–– Penrose and Penrose and mandlebrotmandlebrot fractalsfractals–– ““Rules of NatureRules of Nature””–– Pattern LayersPattern Layers

Use 3d symbols in Use 3d symbols in ArcSceneArcSceneFinalize and document python script Finalize and document python script and processes.and processes.

Thank You!!!Thank You!!!

Questions?Questions?

Jeffery S. NighbertJeffery S. NighbertJnighber@or.blm.govJnighber@or.blm.gov

Recommended