Download - Creating a 3d Virtual City Using Arcgis
-
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