一、简要介绍
新泽西州(英语:State of New Jersey)位于美国中大西洋地区,其命名源自位于英吉利海峡中的泽西岛,昵称为“花园州”。新泽西州亦为美国东部的一个州,北接纽约州,东面大西洋,南向特拉华州,西临宾夕法尼亚州。新泽西州是美国人口密度最高的州,主要原因是它的地理位置恰好位于波士顿-华盛顿城市带超级都会区群的正中央,并被纽约、费城、巴尔的摩以及哥伦比亚等大都会区围绕。
新泽西是美国第四小的州,面积共有22608平方千米,东西宽度约110千米,南北长度约240千米,最高海拔550米,最低海拔0米。
二、数据介绍
新泽西州面积只有2万多平方千米,而且大部分地区地势较为平坦,因此其1米DEM数据量大小相较于爱荷华州等面积较大的州,会小很多,DEM数据切成了Mesh类型的地形瓦片数据,能够在Cesium上无缝加载。成果数据有50GB左右,共有约5000万个文件,压缩后有33.1GB。
地形瓦片数据压缩包我进行了测试,未发现错误。
三、加载方式
3DTiles数据都是静态文件,使用Nginx直接静态代理即可,无需部署发布程序,这里分享一个nginx.conf里Server的样例,大家可以直接粘贴过去,修改root对应的路径。
server
{
listen 8804;
server_name localhost;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
add_header Access-Control-Allow-Origin "$http_origin";
add_header Access-Control-Allow-Credentials true;
add_header Access-Control-Allow-Methods 'GET, POST,OPTIONS';
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
if ($request_method = 'OPTIONS') {
return 204;
}
location / {
autoindex on;
root D:/DEM-1M-WGS84-USA-WY-MESH/;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
在CesiumJS中进行加载也比较容易,关键性代码如下(其中影像底图使用ArcGIS默认的卫星影像底图):
const viewer = new Cesium.Viewer('cesiumContainer', {
selectionIndicator: false,
baseLayerPicker: false,
homeButton: false,
infoBox: false,
timeline: false,
navigationHelpButton: false,
navigationInstructionsInitiallyVisible: false,
vrButton: false,
fullscreenButton: false,
geocoder: false,
animation: false,
sceneModePicker: false,
shadows:false,
baseLayer: Cesium.ImageryLayer.fromProviderAsync(
Cesium.ArcGisMapServerImageryProvider.fromBasemapType(Cesium.ArcGisBaseMapType.SATELLITE)
)
});
viewer.terrainProvider = await Cesium.CesiumTerrainProvider.fromUrl(
"http://localhost:8802/",
{
tilingScheme: new Cesium.GeographicTilingScheme(),
requestVertexNormals:true
}
);
运行代码后,可以看到数据加载效果
四、数据领取
数据免费分享,大家在评论区留言或者私信联系,我会将领取方式及时发给大家。大家下载的压缩包有解压失败的问题,请及时私信联系。上次发现百度网盘大文件压缩包文件下载后解压失败的问题,已经通过百度客服反馈给百度网盘技术团队,很可惜,截止到目前,未收到任何回复消息。