creating a 3d virtual city using arcgis

Upload: theengineer3

Post on 10-Oct-2015

34 views

Category:

Documents


0 download

DESCRIPTION

tutorial

TRANSCRIPT

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    1/47

    ESRI Developer Summit 2008ESRI Developer Summit 2008 11

    Creating a 3D Virtual CityCreating a 3D Virtual City

    Using ArcGISUsing ArcGIS

    Milad ErshaghiMilad Ershaghi

    Product Engineer, 3D AnalystProduct Engineer, 3D AnalystDeepinder DeolDeepinder Deol

    Product Engineer, 3D AnalystProduct Engineer, 3D Analyst

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    2/47

    OverviewOverview

    ESRI Developer Summit 2008ESRI Developer Summit 2008 22

    Creating the 3D DatasetCreating the 3D Dataset

    MultiPatch GeometriesMultiPatch Geometries

    Authoring the 3D ViewAuthoring the 3D View

    Serving the 3D ViewServing the 3D View

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    3/47

    Outline: Creating the Dataset using MultiPatchesOutline: Creating the Dataset using MultiPatches

    PlanPlan

    Data CollectionData Collection

    Data DisplayData Display

    Out of the BoxOut of the Box

    CustomCustom

    DevelopDevelopSingle BuildingSingle Building

    MultiPatch GeometryMultiPatch Geometry

    IGeneralMultiPatchCreatorIGeneralMultiPatchCreator

    Entire CityEntire City

    WorkflowWorkflow

    Custom SolutionCustom Solution

    ESRI Developer Summit 2008ESRI Developer Summit 2008 33

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    4/47

    Data Collection: BackdropData Collection: Backdrop

    Transportation RoutesTransportation Routes

    Aerial ImageryAerial Imagery

    Elevation DataElevation Data

    ESRI Developer Summit 2008ESRI Developer Summit 2008 44

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    5/47

    Data Collection: BuildingsData Collection: Buildings

    Building FootprintsBuilding Footprints

    Building TexturesBuilding Textures

    Building ModelsBuilding Models

    ESRI Developer Summit 2008ESRI Developer Summit 2008 55

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    6/47

    Data Display: Elevation, ImageryData Display: Elevation, Imagery

    ESRI Developer Summit 2008ESRI Developer Summit 2008 66

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    7/47

    Data Display: Transportation RoutesData Display: Transportation Routes

    ESRI Developer Summit 2008ESRI Developer Summit 2008 77

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    8/47

    Data Display: Building FootprintsData Display: Building Footprints

    ESRI Developer Summit 2008ESRI Developer Summit 2008 88

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    9/47

    Data Display: Extruded FootprintsData Display: Extruded Footprints

    ESRI Developer Summit 2008ESRI Developer Summit 2008 99

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    10/47

    Data Display: Building ModelsData Display: Building Models

    ESRI Developer Summit 2008ESRI Developer Summit 2008 1010

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    11/47

    Data Display: Textured BuildingsData Display: Textured Buildings

    ESRI Developer Summit 2008ESRI Developer Summit 2008 1111

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    12/47

    Geoprocessing Tool: Import 3D FilesGeoprocessing Tool: Import 3D Files

    Input FormatsInput Formats

    ColladaCollada

    SketchUpSketchUp

    OpenFlightOpenFlight

    3ds Max3ds Max

    GeoVRMLGeoVRML

    ESRI Developer Summit 2008ESRI Developer Summit 2008 1212

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    13/47

    Geoprocessing Tool: Layer 3D to Feature ClassGeoprocessing Tool: Layer 3D to Feature Class

    3D Symbology3D Symbology

    Extrusion SettingsExtrusion Settings

    Texture DownsamplingTexture Downsampling

    ESRI Developer Summit 2008ESRI Developer Summit 2008 1313

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    14/47

    Custom Solution: Textured Buildings GeneratorCustom Solution: Textured Buildings Generator

    ESRI Developer Summit 2008ESRI Developer Summit 2008 1414

    ??

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    15/47

    Single Building: MultiPatch GeometrySingle Building: MultiPatch Geometry

    MultiPatch: a 3D geometry used to represent the outerMultiPatch: a 3D geometry used to represent the outer

    surface/shell of features that occupy a discretesurface/shell of features that occupy a discrete

    area/volume in threearea/volume in three--dimensional space. MultiPatchesdimensional space. Mult iPatchescomprise 3D rings and triangles that are used incomprise 3D rings and tr iangles that are used in

    combination to model a threecombination to model a three--dimensional shell.dimensional shell.

    One or More PatchesOne or More Patches

    Zero or More Geometry MaterialsZero or More Geometry Materials

    1 to Many Relationship1 to Many Relationship

    (Geometry Material : Patch)(Geometry Material : Patch)

    ESRI Developer Summit 2008ESRI Developer Summit 2008 1515

    MultiPatchMultiPatch

    PatchPatch

    ListList

    __________________

    Patch 0Patch 0

    Patch 1Patch 1

    Patch 2Patch 2

    Patch nPatch n--11

    GeometryGeometry

    MaterialMaterial

    ListList

    __________________

    Material 0Material 0

    Material 1Material 1

    Material 2Material 2

    Material mMaterial m--11

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    16/47

    Single Building: PatchesSingle Building: Patches

    ESRI Developer Summit 2008ESRI Developer Summit 2008 1616

    TriangleStripTriangleStrip TriangleFanTriangleFan

    TrianglesTriangles RingRing

    Building

    Walls

    BuildingFloors,

    Building

    Roofs

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    17/47

    Single Building: Geometry MaterialsSingle Building: Geometry Materials

    ESRI Developer Summit 2008ESRI Developer Summit 2008 1717

    Geometry MaterialGeometry Material

    ColorColor

    __________________

    RR: 0 to 255: 0 to 255

    GG: 0 to 255: 0 to 255BB: 0 to 255: 0 to 255

    TransparentTransparent

    TextureTexture

    ColorColor

    __________________

    RR: 0 to 255: 0 to 255

    GG: 0 to 255: 0 to 255

    BB: 0 to 255: 0 to 255

    TextureTexture

    ImageImage

    __________________

    JPGJPG

    GIFGIF

    PNGPNG

    TIFTIF

    TGATGA

    BMPBMP

    TransparencyTransparency

    __________________

    0.0 to 1.00.0 to 1.0

    (210, 232, 255) (28, 255, 255)0.5C:\TextureImage.jpg

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    18/47

    Single Building: StepsSingle Building: Steps

    1.1. Define Geometry Material ListDefine Geometry Material List

    2.2. Initialize General MultiPatch CreatorInitialize General MultiPatch Creator

    3.3. Define Patch TypesDefine Patch Types

    4.4. Define Material IndicesDefine Material Indices

    5.5. Define Point Starting IndicesDefine Point Starting Indices

    6.6. Define Texture Point Starting IndicesDefine Texture Point Starting Indices

    7.7. Define PointsDefine Points

    8.8. Define Texture PointsDefine Texture Points

    9.9. Generate MultiPatchGenerate MultiPatch

    10.10. Cleanup ResourcesCleanup Resources

    ESRI Developer Summit 2008ESRI Developer Summit 2008 1818

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    19/47

    1. Define Geometry Material List1. Define Geometry Material List

    ESRI Developer Summit 2008ESRI Developer Summit 2008 1919

    FloorTexture.jpgFloorTexture.jpg

    RoofTexture.jpgRoofTexture.jpg

    WallTexture.jpgWallTexture.jpg

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    20/47

    2. Init ialize General MultiPatch Creator2. Initialize General MultiPatch Creator

    ESRI Developer Summit 2008ESRI Developer Summit 2008 2020

    Patch 0Patch 0

    Patch 1Patch 1

    Patch 2Patch 2

    8, 08, 0

    9, 19, 1

    22

    33

    44

    55

    66

    77

    0, 40, 4

    3322

    11

    22

    3377

    66 11

    22

    33

    4, 04, 0

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    21/47

    3. Define Patch Types3. Define Patch Types

    ESRI Developer Summit 2008ESRI Developer Summit 2008 2121

    Patch 0Patch 0

    (Ring)(Ring)

    Patch 1Patch 1(Ring)(Ring)

    Patch 2Patch 2

    (TriangleStrip)(TriangleStrip)

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    22/47

    4. Define Material Indices4. Define Material Indices

    ESRI Developer Summit 2008ESRI Developer Summit 2008 2222

    Patch 0Patch 0

    (Material 0)(Material 0)

    Patch 1Patch 1(Material 1)(Material 1)

    Patch 2Patch 2

    (Material 2)(Material 2)

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    23/47

    55--6. Define Point & Texture Point Starting Indices6. Define Point & Texture Point Starting Indices

    ESRI Developer Summit 2008ESRI Developer Summit 2008 2323

    Patch 0Patch 0

    Patch 1Patch 1

    Patch 2Patch 2

    18,18, 1010

    19, 1119, 11

    1212

    1313

    1414

    1515

    1616

    1717

    55, 9, 9

    8877

    66

    1212

    13131717

    1616

    4,4, 00

    11

    22

    33

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    24/47

    7. Define Points7. Define Points

    ESRI Developer Summit 2008ESRI Developer Summit 2008 2424

    Patch 0Patch 0

    Patch 1Patch 1

    Patch 2Patch 2

    (299918.004, 58577.206, 0), (299918.004, 58577.206, 0)(299918.004, 58577.206, 0), (299918.004, 58577.206, 0)

    (299918.004, 58577.206, 15), (299918.004, 58577.206, 15)(299918.004, 58577.206, 15), (299918.004, 58577.206, 15)

    (299958.021, 58665.284, 0)(299958.021, 58665.284, 0)

    (299958.021, 58665.284, 15)(299958.021, 58665.284, 15)

    (299799.596, 58737.614, 15)(299799.596, 58737.614, 15)

    (299759.579, 58659.536, 15)(299759.579, 58659.536, 15)

    (299958.021, 58665.284, 15)(299958.021, 58665.284, 15)

    (299799.596, 58737.614, 15)(299799.596, 58737.614, 15)

    (299958.021, 58665.284, 0)(299958.021, 58665.284, 0)

    (299958.021, 58665.284, 15)(299958.021, 58665.284, 15)(299759.579, 58659.536, 15)(299759.579, 58659.536, 15)

    (299759.579, 58659.536, 0)(299759.579, 58659.536, 0)

    (299918.004, 58577.206, 0), (299918.004, 58577.206, 0)(299918.004, 58577.206, 0), (299918.004, 58577.206, 0)

    (299958.021, 58665.284, 0)(299958.021, 58665.284, 0)

    (299799.596, 58737.614, 0)(299799.596, 58737.614, 0)

    (299759.579, 58659.536, 0)(299759.579, 58659.536, 0)

    Patch 2Patch 2

    (299918.004, 58577.206, 15), (299918.004, 58577.206, 15)(299918.004, 58577.206, 15), (299918.004, 58577.206, 15)

    (299799.596, 58737.614, 0)(299799.596, 58737.614, 0)

    (299759.579, 58659.536, 0)(299759.579, 58659.536, 0)

    (299759.579, 58659.536, 15)(299759.579, 58659.536, 15)

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    25/47

    8. Define Texture Points8. Define Texture Points

    ESRI Developer Summit 2008ESRI Developer Summit 2008 2525

    Patch 0Patch 0

    Patch 1Patch 1

    Patch 2Patch 2

    (119, 5), (0,5)(119, 5), (0,5)

    (119, 0), (0, 0)(119, 0), (0, 0)

    (21.249, 5)(21.249, 5)

    (21.249, 0)(21.249, 0)

    (59.5, 0)(59.5, 0)

    (80.749, 0)(80.749, 0)

    (0, 385.460)(0, 385.460)

    (131.480, 0)(131.480, 0)

    (21.249, 5)(21.249, 5)

    (21.249, 0)(21.249, 0)(80.749, 0)(80.749, 0)

    (80.749, 5)(80.749, 5)

    (78.238, 108), (78.238, 108)(78.238, 108), (78.238, 108)

    (98, 48.698)(98, 48.698)

    (19.762, 0)(19.762, 0)

    (0, 59.302)(0, 59.302)

    Patch 2Patch 2

    (520.519, 702), (520.519, 702)(520.519, 702), (520.519, 702)

    (59.5, 5)(59.5, 5)

    (80.749, 5)(80.749, 5)

    (652, 316.540)(652, 316.540)

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    26/47

    99--10. Generate MultiPatch & Cleanup Resources10. Generate MultiPatch & Cleanup Resources

    ESRI Developer Summit 2008ESRI Developer Summit 2008 2626

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    27/47

    Entire City: WorkflowEntire City: Workflow

    1.1. Construct Material Properties TableConstruct Material Properties Table

    2.2. Construct Building Properties TableConstruct Building Properties Table

    3.3. Construct Textured Buildings Feature ClassConstruct Textured Buildings Feature Class

    ESRI Developer Summit 2008ESRI Developer Summit 2008 2727

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    28/47

    1. Construct Material Properties Table1. Construct Material Properties Table

    ESRI Developer Summit 2008ESRI Developer Summit 2008 2828

    MaterialMaterial

    PropertiesProperties

    TableTable

    GeneratorGenerator

    MaterialMaterial

    PropertiesProperties

    TableTable

    MaterialMaterial

    PropertiesProperties

    FileFile

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    29/47

    2. Construct Building Properties Table2. Construct Building Properties Table

    ESRI Developer Summit 2008ESRI Developer Summit 2008 2929

    BuildingBuilding

    PropertiesProperties

    TableTable

    GeneratorGenerator

    BuildingBuilding

    PropertiesProperties

    TableTable

    MaterialMaterial

    PropertiesProperties

    TableTable

    BuildingBuilding

    FootprintsFootprints

    Feature ClassFeature Class

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    30/47

    3. Construct Textured Buildings Feature Class3. Construct Textured Buildings Feature Class

    ESRI Developer Summit 2008ESRI Developer Summit 2008 3030

    TexturedTextured

    BuildingsBuildings

    Feature ClassFeature Class

    GeneratorGenerator

    MaterialMaterial

    PropertiesProperties

    TableTable

    BuildingBuildingPropertiesProperties

    TableTable

    BuildingBuilding

    FootprintsFootprints

    Feature ClassFeature Class

    TextureTexture

    ImagesImages...

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    31/47

    Entire City: OutputEntire City: Output

    ESRI Developer Summit 2008ESRI Developer Summit 2008 3131

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    32/47

    Custom Solution: ResultsCustom Solution: Results

    58,085 Textured Buildings

    4.6 GB Feature Class

    Average Feature Size: 79 KB

    ArcObjects C# Solution

    Source Code Provided

    MultiPatch Whitepaper

    > 150 Pages of Fully Illustrated Code Samples

    Tips and Best Practices

    In-Depth Walkthrough of Solution

    ESRI Developer Summit 2008ESRI Developer Summit 2008 3232

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    33/47

    ESRI Developer Summit 2008ESRI Developer Summit 2008 3333

    Demo

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    34/47

    ESRI Developer Summit 2008ESRI Developer Summit 2008 3434

    Outline: Authoring and Serving the 3D ViewOutline: Authoring and Serving the 3D View

    Authoring the 3D ViewAuthoring the 3D View

    Globe Data CachingGlobe Data Caching

    Texture ManagementTexture ManagementUsing Multiple RepresentationsUsing Multiple Representations

    DemoDemo

    Publishing to ArcGIS ServerPublishing to ArcGIS ServerDemoDemo

    QuestionsQuestions

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    35/47

    ESRI Developer Summit 2008ESRI Developer Summit 2008 3535

    Globe Data CachingGlobe Data Caching

    Mechanism for managing large amounts of dataMechanism for managing large amounts of data

    To improve display performance, ArcGlobe keeps aTo improve display performance, ArcGlobe keeps a

    cache of t iles for each layercache of t iles for each layer

    Two types of cachesTwo types of caches

    Memory CacheMemory Cache

    For immediate useFor immediate useDisk CacheDisk Cache

    Tiles are stored on disk for later useTiles are stored on disk for later use

    Tiles are swapped between disk cache and memoryTiles are swapped between disk cache and memory

    cache based on available resources and the currentcache based on available resources and the current

    viewview

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    36/47

    ESRI Developer Summit 2008ESRI Developer Summit 2008 3636

    Memory CacheMemory Cache

    Refers to assigning an amount of the computer's RAMRefers to assigning an amount of the computer's RAM

    for use by ArcGlobefor use by ArcGlobe

    Memory can be assigned by data typeMemory can be assigned by data type Significant improvement in performance with properSignificant improvement in performance with proper

    settingssettings

    IGlobeAdvancedProperties2

    .GetTileMemory(t ype, l i mi t , cur r ent );.SetTileMemory(t ype, l i mi t );

    IGlobeAdvancedProperties2

    .GetTileMemory(t ype, l i mi t , cur r ent );.SetTileMemory(t ype, l i mi t );

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    37/47

    ESRI Developer Summit 2008ESRI Developer Summit 2008 3737

    Disk CacheDisk Cache

    Tiles are stored on disk for fast retrievalTiles are stored on disk for fast retrieval

    Layer disk cache is temporary unless the ArcGlobeLayer disk cache is temporary unless the ArcGlobe

    document or a layer file is saveddocument or a layer file is saved

    Two methods of generating the cache:Two methods of generating the cache:

    OnOn--demanddemand: t iles are created and stored as needed: t iles are created and stored as needed

    ExplicitExplicit: cache all areas: cache all areas PartialPartial: generate cache for specified level of detail: generate cache for specified level of detail

    FullFull: all levels of detail: all levels of detail

    Feature data in ArcGlobe has only one level of detailFeature data in ArcGlobe has only one level of detail

    TipTip: For best performance generate full caches for your: For best performance generate full caches for your

    3D objects (buildings etc.)3D objects (buildings etc.)

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    38/47

    ESRI Developer Summit 2008ESRI Developer Summit 2008 3838

    Texture ManagementTexture Management

    Textures on 3D objects can be memory intensiveTextures on 3D objects can be memory intensive

    Data can take longer to displayData can take longer to display

    Navigation can be sluggishNavigation can be sluggish

    Performance degradation depends upon availablePerformance degradation depends upon available

    physical memory as well as memory cache settingsphysical memory as well as memory cache settings

    Three textureThree texture--management options are available:management options are available:

    Disable texturesDisable textures

    Apply DXT compressionApply DXT compression

    Downscale texturesDownscale textures

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    39/47

    ESRI Developer Summit 2008ESRI Developer Summit 2008 3939

    Texture ManagementTexture Management

    Layer PropertiesLayer Properties GlobeDisplayGlobeDisplay

    DXT compressionDXT compression

    Texture downscalingTexture downscaling

    Disable texturesDisable textures

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    40/47

    ESRI Developer Summit 2008ESRI Developer Summit 2008 4040

    Using Multiple RepresentationsUsing Multiple Representations

    Feature data in ArcGlobe has only one level of detailFeature data in ArcGlobe has only one level of detail

    If you have large number of features thenIf you have large number of features then

    Create multiple representations of your dataCreate multiple representations of your data

    Use GP tools in ArcToolboxUse GP tools in ArcToolbox

    Use texture management techniquesUse texture management techniques

    Use different visibility rangesUse different visibility ranges

    FarFar(less detail)(less detail)

    NearNear(more detail)(more detail)

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    41/47

    ESRI Developer Summit 2008ESRI Developer Summit 2008 4141

    Using Multiple RepresentationsUsing Multiple Representations

    ExampleExample: Multiple representations for buildings: Multiple representations for buildings

    Aggregated building footprintsAggregated building footprints

    Individual building footprintsIndividual building footprints

    Extruded footprintsExtruded footprints

    Buildings without texturesBuildings without textures

    Buildings with downscaled texturesBuildings with downscaled textures

    Buildings with full resolution texturesBuildings with full resolution textures

    CoarsestCoarsest

    FinestFinest

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    42/47

    ESRI Developer Summit 2008ESRI Developer Summit 2008 4242

    Using Multiple RepresentationsUsing Multiple Representations

    For detailed information on which GP tools to use andFor detailed information on which GP tools to use and

    how to optimize your ArcGlobe document please see:how to optimize your ArcGlobe document please see:

    http://support.esri.com/index.cfm?fa=knowledgebase.http://support.esri.com/index.cfm?fa=knowledgebase.

    documentation.viewDoc&PID=54&MetaID=1298documentation.viewDoc&PID=54&MetaID=1298

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    43/47

    ESRI Developer Summit 2008ESRI Developer Summit 2008 4343

    Demo

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    44/47

    ESRI Developer Summit 2008ESRI Developer Summit 2008 4444

    Publishing to ArcGIS ServerPublishing to ArcGIS Server

    Publish the ArcGlobe document as a GlobeServicePublish the ArcGlobe document as a GlobeService

    Supports LocalSupports Local--area (LAN) and Webarea (LAN) and Web--based accessbased access

    Consume in ArcGIS Explorer, ArcGlobe, Globe ControlConsume in ArcGIS Explorer, ArcGlobe, Globe Control

    All ArcGlobe supported data types can be servedAll ArcGlobe supported data types can be served

    Supports Identify, Search and Find featuresSupports Identify, Search and Find features

    Animation is also supportedAnimation is also supported

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    45/47

    ESRI Developer Summit 2008ESRI Developer Summit 2008 4545

    Demo

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    46/47

    ESRI Developer Summit 2008ESRI Developer Summit 2008 4646

    Questions?

  • 5/20/2018 Creating a 3d Virtual City Using Arcgis

    47/47

    ESRI Developer Summit 2008ESRI Developer Summit 2008 4747

    Thank You