




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 韶關打印機租賃合同協議
- 靜壓樁機租賃合同協議
- 長期店面出租合同協議
- 雇傭免責協議合同書范本
- 閑置門面合作合同協議
- 面膜加工訂單合同協議
- 門窗定制廠家合同協議
- 長方餐桌轉讓合同協議
- 項目勞務服務合同協議
- 領取協議書模板
- 2024年西藏自治區初中學業水平考試化學實驗操作考試
- 2024版《供電營業規則》學習考試題庫500題(含答案)
- MOOC 現代郵政英語(English for Modern Postal Service)-南京郵電大學 中國大學慕課答案
- 生命科學導論(中國農業大學)智慧樹知到期末考試答案2024年
- 2024年遼寧省大連理工附中中考物理模擬試卷
- 橋梁減隔震裝置技術條件
- 施工環境保護培訓課件
- 化工廠節能降耗措施
- 電力預防性試驗課件
- 三廢環保管理培訓
- 基于MATLAB的電流、電壓互感器特性的仿真分析
評論
0/150
提交評論