Anatomy of the Web Map
Client Application(Firefox / IE/ Chrome)
Spati
al Da
ta /
Querie
s
Mapping Server(ArcGIS Server)
Application Server(IIS / Apache)
Flash / JS / HTML
client provides parameters.
server returns results.
Server-side Solution
Client Application(Firefox / IE/ Chrome)
Serv
er d
oes t
he w
ork
Mapping Server(ArcGIS Server)
Application Server(IIS / Apache)
The client provides parameters and
the server returns results.
Client-side Solution
Client Application(Firefox / IE / Chrome)
User
’s Co
mpu
ter D
oes t
he
Wor
k
Mapping Server(ArcGIS Server)
Application Server(IIS / Apache)
The client does the analysis and
the server provides source data.
Client-side Raster Analysis Needs…
• Source Data – (PNG / JPG)– PNG for rasters classified into discrete classes– JPEG for smooth continuous surfaces– Common screen size = 1024 x 768 = 786,432– Suitability Analysis of 10 Layers = 8 Megapixels
Transferring Source Data…
• Continuous Data– JPEG with 60% compression– Note min/max of each dataset– Stretch dataset from black to white
Transferring Source Data…
• Discrete Data (Soil Type)– PNG8 or PNG24– ***Symbolize data with known values***
32 Classes of ColorClass Hex ArcMap Client-side
1 0x7 7 0.031252 0xf 15 0.06253 0x17 23 0.093754 0x1f 31 0.1255 0x27 39 0.156256 0x2f 47 0.1875…30 0xef 239 0.937531 0xf7 247 0.9687532 0xff 255 1.0
Client-side Raster Analysis Needs…
• Ability to run analysis–Access to individual pixels–Logic to evaluate pixel values–Raw speed
Access to individual pixels
• Flash – Pixel Bender or Bitmap API• Javascript – Ext JS 4 w/Pixel Bender• Silverlight – Pixel Shader
• I recommend Flash/Flex with Pixel Bender
Pixel Bender Kernel Language
• Override a single function (evaluatePixel)– Executes in CPU / GPU
• Simple Syntax but Limited Expressiveness – No Arrays– No Custom Functions– boolean, float, pixel, and image data types