




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
ArcGISAPIforJavaScript
Building3DWebAppsJavierGutierrez,Bj?rnSvenssonArcGISAPIforJavaScript
Building3DWebAppsJavierGutierrez,Bj?rnSvensson/javascript/beta/AgendaIntroductionFrom3.xto4.0Layers3DVisualizationSceneViewWidgetsWhat’snextIntroductionWhatistheArcGISAPIforJavaScript?AllowsJavaScriptdeveloperstobuildapplicationsforwebbrowsersProvidesvisualmappingcomponentandwidgetsSupportformanydifferentlayertypes(datasources)AnalysisandgeoprocessingIntegrationwithArcGISplatformsecurity,sign-in,premiumservicesBasics-ArcGISAPIforJavaScriptHowtogetJSAPIAPILibraryCDN(contentdeliverynetwork)-Hostedat/4.0beta1/
OnlineoptimizerDownload/javascript/
Beta/javascript/beta/
Licensing/en/terms/faq/
3DinArcGISAPIforJavaScriptSameArcGISAPI,builtwithmap&layers,forGISanalysisandvisualizationData2Dtiles,maps,featuresNew3Ddata(SceneLayer,ElevationLayer)3Dconcepts–morerealisticCamera,LightandShadowsGroundsurfacewithElevationSceneViewerandWebScenes3DinArcGISAPIforJavaScriptHowdoesitwork?WebGL+JavaScript(ECMAScript5)RequirementsGoodhardwarew/
GraphicsCardModernWebBrowserLimitationsWebMercatoronly(beta1)LimitednumberoffeaturesArcGISAPIforJavaScript
From3.xto4.0/javascript/beta/From3.xto4.0UsingviewsWorkingwithpropertiesWorkingwithpromisesMapandlayerspecificsModuleandpackageupdatesAMDonlyDifferentsystemrequirements/javascript/beta/guide/migrating/
PrimaryinterfaceUnifiedfor2Dand3D2Dand3DspecificviewsMapView
|SceneView1.UsingviewsExtendingto3D-oneAPIforboth2Dand3DMapLayersLayersLayersFrom3.xto4.0Createabasic3Dmap
<script>varmap,view;require(["esri/Map","esri/views/SceneView","dojo/domReady!"],function(Map,SceneView){
map=newMap({basemap:"streets"});
view=newSceneView({container:"viewDiv",map:map,scale:240000000});});</script>SAMPLE2.WorkingwithProperties/javascript/beta/guide/working-with-props//blog/arcgis-js-api-4-0beta1-accessors//blog/fun-with-accessors-in-arcgis-js-4beta1/Old(3.x)New(4.0)Readperty
ormap.getProperty()pertyWriteperty=10
ormap.setProperty(10)perty=10Changeeventmap.on("extent-change",...)view.watch("extent",...)From3.xto4.03.WorkingwithpromisesApromiseisarepresentationofafuturevaluereturnedfromasynctaskCoreobjects(Map,Layer)arePromisesPromisesareinoneofthreestates:pendingresolvedrejected/javascript/beta/guide/working-with-promises/
map.on("load",function(){
//mapisinitialized});map.then(function(){
//mapisinitialized});ArcGISAPI3.xArcGISAPI4.0view.then(function(){
//viewisinitialized});From3.xto4.0DetectWebGLsupportwithview.then
view.then(function(){//Viewsuccessfullyloaded,//showviewDiv},function(){//Viewwasrejected,//showwebglunsupportedmessage//andturnofftheviewDiv});
SAMPLE4.Mapandlayerspecficchangesmap.addLayer(layer)map.add(layer)properbasemapandoperationallayersseparationFrom3.xto4.05.Moduleandpackageupdates/javascript/beta/guide/module-updates/
From3.xto4.06.AMDonlyFrom3.xto4.07.Differentsystemrequirements3Dmapping:supportedinwebbrowsersthatsupportWebGLIE11ChromeFirefoxSafariNomobileandiPadsupportfor3D.From3.xto4.0LayersBeta1–TypesoflayersLayerArcGISTiledLayer
FeatureLayer
GraphicsLayer
GroupLayer
OpenStreetMapLayer
WebTiledLayer3D-specificlayersArcGISElevationLayer
SceneLayerElevationlayersElevationservicesTiledimageserviceFormat:LERC(LimitedErrorRasterCompression)Newlayertype:ArcGISElevationLayerMultipleelevationlayerswilloverlayjustasmaplayerswouldPlanned:elevationdataqueriesvarlayer=newArcGISElevationLayer(url);
map.add(layer);LERC3DBasemaphasdefaultelevationlayers//StorethedefaultelevationlayersvarelevationLayers=map.basemap.elevationLayers.getAll();…
map.basemap.elevationLayers.clear();SAMPLESceneLayers3Dobjectsservedini3sformatSpatiallyindexedAutomaticlevelofdetailNewlayertype:SceneLayervarlayer=newSceneLayer(url);
map.add(layer);i3si3s=Indexed3DScene
Openspecification:/Esri/i3s-spec
Featurelayersvarurl="/.../05_HurricaneAndrew_1992/FeatureServer/0";
varlayer
=newFeatureLayer(url,{
mode:FeatureLayer.MODE_SNAPSHOT
});
map.add(layer);3DSymbologyWeb3DSymbologyModernandsimplespecConceptsfromJavaScriptandProsymbologyDesignwith3Dand2Dinmindfutureproof,flexibleandextensibleExisting2DSymbologyRendererSymbolsSymbols2DSymbolsNew3DSymbologyRendererSymbolLayersSymbolLayersSymbolLayersWeb3DSymbology:flatvs.volumetricWeb3D“flat”symbollayerWeb3D“volumetric”symbollayerIconObjectLinePathFillExtrudeWeb3DSymbologySymbol–SymbolLayerrelationshipsIconObjectLinePathFillExtrudePointSymbol3D
LineSymbol3D
PolygonSymbol3D
MeshSymbol3D
PointSymbol3D–flatvs.volumetric//CreateobjectSymbolandaddtorenderervar
objectSymbol=newPointSymbol3D({
symbolLayers:[newObjectSymbol3DLayer({
width:70000,
height:100000,
resource:{
primitive:"cone"
},
material:{
color:"#FFD700"
}
})]});objectSymbolRenderer=newSimpleRenderer({symbol:objectSymbol});layer.renderer=objectSymbolRenderer;SAMPLEWeb3DSymbologyPointSymbol3D+ObjectSymbol3DLayervarsymbolLayer=newObjectSymbol3DLayer({
resource:{
primitive:"cylinder"
},
material:{
color:[255,64,64]
},
width:80000,//inmeters
height:500000//inmeters
});
varsymbol=newPointSymbol3D(symbolLayer);
varrenderer=newSimpleRenderer(symbol);
layer.renderer=renderer;Web3DSymbologyUniqueValueRenderervarrenderer=newUniqueValueRenderer(null,"CategoryLegend");
varsymbolLayer=newObjectSymbol3DLayer({
material:{color:[197,0,255]},
resource:{primitive:"cylinder"},
width:110000
});
renderer.addValue("Category5Hurricane",newPointSymbol3D(symbolLayer));//addothervalueslayer.set("renderer",renderer);VisualVariablesrenderer.setSizeInfo({
field:"WIND_SPEED",
minSize:3,
maxSize:20,
minDataValue:5,
maxDataValue:50
});
renderer.setColorInfo({
field:"M086_07",
minDataValue:0,
maxDataValue:100,
colors:[
newColor([255,255,255]),
newColor([127,127,0])
]
});renderer.set("visualVariables",[
{
type:"sizeInfo",//new
axis:"all",//new
field:"WIND_SPEED",
minSize:3,
maxSize:20,
minDataValue:5,
maxDataValue:50
},{
type:"colorInfo",//new
field:"M086_07",
minDataValue:0,
maxDataValue:100,
colors:[
newColor([255,255,255]),
newColor([127,127,0])
]
}
]);ArcGISAPI3.12ArcGISAPI4.0Web3DSymbologyrenderer.set("visualVariables",[
{
"type":"sizeInfo",
"field":"WIND_KTS",
"minDataValue":20,
"maxDataValue":150,
"minSize":60000,
"maxSize":450000,
"axis":"height"
},
{
"type":"sizeInfo",
"field":"PRESSURE",
"minDataValue":920,
"maxDataValue":1020,
"minSize":40000,
"maxSize":150000,
"axis":"widthAndDepth"
}
]);Web3DSymbologyrenderer.set("visualVariables",[
{
"type":"colorInfo",
"field":"WIND_KTS",
"minDataValue":20,
"maxDataValue":150,
"colors":[
[64,255,64],
[255,64,64]
]
}
]);Web3DSymbologyPolygonExtrusionextrudePolygonRenderer=newSimpleRenderer({
symbol:newPolygonSymbol3D({symbolLayers:[
newExtrudeSymbol3DLayer({
size:1000000,
material:{
color:[128,128,255]
}
})
]}),
visualVariables:[{
type:"sizeInfo",
field:"POP07_SQMI",
minSize:40000,
…SAMPLEElevationalignmentElevationInfoElevationmodesSettingtheelevationbehaviorElevationmodeSymbolelevation"onTheGround"Draped"absoluteHeight"Zvalue(or0)[+offset]"relativeToGround"Terrain+Zvalue(or0)[+offset]layer.elevationInfo={
mode:"relativeToGround",
offset:1000//meters
};Web3DSymbology:ElevationMode:AbsoluteheightWeb3DSymbology:ElevationMode:OnTheGroundSceneViewSceneViewLayersLayersLayersPrimaryinterfaceUnifiedfor2Dand3D3DspecificviewSceneViewMapLayersLayersLayersSceneViewCorecomponentof3DAPIRendering,Navigation,GroundSpecific3DViewpropertiesCameraEnvironmentCommon2D/3DViewpropertiesCenter*Scale/Zoom*Extent*Rotation**supportedin3Dina“besteffort”basisSceneViewCameraNewclassHeading:clockwise,0..360°Tilt:0..180°0°straightdown90°horizontal180°straightupnewCamera({
position:newPoint({
x:-116.54,//longitude
y:33.83,//latitude
z:1000,//altitudeinmeters
spatialReference:newSpatialReference(4326)}),
heading:30,//indegrees
tilt:45//indegrees
})SceneViewModifyingthecamera//view.camera.heading=0;doesn‘twork//needtomodifyandre-setthecameravarmyCamera=view.camera;myCamera.heading=0;view.camera=myCamera;CameraSceneViewanimateToSimpleviewanimationswithanimateTo:TargetcanbeCamera[longitude,latitude](inWGS84)AnyGeometryobject,oranarrayofGeometryobjectsGraphic,arrayofGraphicview.animateTo(target,options);SceneViewEasyNavigationwithanimateTovarheading=…;vartilt=…;view.animateTo({heading:heading});view.animateTo({tilt:tilt});SAMPLESceneView:SunlightSettime/dateEnableshadowsvardate=newDate("01Jan201510:00GMT-0800");
view.environment.lighting.date=date;
view.environment.lighting.setTimeForCurrentLocation(hours,minutes);view.environment.lighting.shadows=true;SceneViewEnvironment:lightandshadows//SettheenvironmentinSceneViewview.environment={lighting:{
directShadows:true,
date:newDate("SunMar15201509:00:00GMT+0100")
}};SAMPLEWidgetsBeta1–Widg
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 華東政法大學《數據庫基礎與應用》2023-2024學年第二學期期末試卷
- 四川省成都市新津縣2025年五年級數學第二學期期末監測模擬試題含答案
- 曲阜遠東職業技術學院《籃、足、排教學與實踐II》2023-2024學年第一學期期末試卷
- 凱里學院《外科學2》2023-2024學年第二學期期末試卷
- 山東省聊城茌平縣聯考2025年下學期初三5月段考試卷數學試題含解析
- 上海市第八中學2024-2025學年初三模擬測試(一)數學試題試卷含解析
- 南陽市鎮平縣2025屆五年級數學第二學期期末經典試題含答案
- 運城師范高等專科學校《城市社會學》2023-2024學年第一學期期末試卷
- 山東省德州市夏津第一中學2024-2025學年學業水平考試英語試題模擬試卷含解析
- 無錫科技職業學院《土木工程防災減災》2023-2024學年第二學期期末試卷
- 新生兒臍部出血的護理
- 實驗室的智能化設計與建設
- 煤礦培訓課件-地質災害防治與測量
- 《中國海洋大學》課件
- 2015-2024年十年高考物理真題分類匯編專題05 萬有引力與航天(解析版)
- 案例:中建八局綠色施工示范工程綠色施工(76P)
- 水產養殖技術培訓
- 《無人機測繪技術》項目2任務1無人機航測任務規劃
- 2025年中小學生讀書知識競賽題庫及答案
- 《中國子宮頸癌篩查指南》解讀課件
- 《安全閥培訓》課件
評論
0/150
提交評論