1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > React框架+cesium加载GeoWebCache发布4326WMTS服务的ArcGIS切片图层请求400问题

React框架+cesium加载GeoWebCache发布4326WMTS服务的ArcGIS切片图层请求400问题

时间:2021-12-19 09:43:49

相关推荐

React框架+cesium加载GeoWebCache发布4326WMTS服务的ArcGIS切片图层请求400问题

前言

由于业务的要求,需要在前端展示个性化美化的地图底图,尝试使用mapbox的配置和其它方案去搞Geojson格式的,但是个性化比较麻烦,而且门槛较高,不好配置,于是本菜鸟使用arcMap来美化底图,并使用arcServer切片。但是由于ArcGIS并不开源,所以尝试使用GeoWebCache发布。

长话短说,下面开整!

一、GeoServer安装GeoWebCache插件

请参考这位大佬的文章:

(17条消息) GeoServer(GeoWebCache)发布ArcGIS切片的操作方法及利用OpenLayers调用其发布服务的关键代码_大龄Giser的博客-CSDN博客/lynchee/article/details/87978099

二、使用arcmap配图并使用ArcServer切片

1.使用arcmap配置图层,配置好坐标系

这里使用的4326的坐标系

2.使用ArcServer切片

①将mxd共享为服务

②一路配置(中间过程如果不懂的请自行搜索其它文章),到缓存配置,选择【使用缓存中的切片】-【切片方案选择:建议】-【自己选择切片级别】

接下来很重要

③点击目录页中的【高级配置】

④将切片原点设置为x:-180 y:90,否则默认的是-400,400会导致后序加载服务时找不到正确的切片文件而导致的报错。

⑤点击确认返回刚刚的页面重新配置切片策略,切片策略引用了这位大佬的文章:

(17条消息) ArcGIS(ArcMap)进行缓存切片_孙霸天的博客-CSDN博客_arcgis切片/qq_36213352/article/details/123505973?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166822463316782388018424%2522%252C%2522scm%2522%253A%25220713.130102334.pc%255Fblog.%2522%257D&request_id=166822463316782388018424&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-6-123505973-null-null.nonecase&utm_term=GeoWebCache&spm=1018.2226.3001.4450

<?xml version="1.0" encoding="utf-8" ?><CacheInfo xsi:type='typens:CacheInfo' xmlns:xsi='/2001/XMLSchema-instance' xmlns:xs='/2001/XMLSchema' xmlns:typens='/schemas/ArcGIS/10.1'><TileCacheInfo xsi:type='typens:TileCacheInfo'><SpatialReference xsi:type='typens:GeographicCoordinateSystem'><WKT>GEOGCS[&quot;GCS_WGS_1984&quot;,DATUM[&quot;D_WGS_1984&quot;,SPHEROID[&quot;WGS_1984&quot;,6378137.0,298.257223563]],PRIMEM[&quot;Greenwich&quot;,0.0],UNIT[&quot;Degree&quot;,0.0174532925199433],AUTHORITY[&quot;EPSG&quot;,4326]]</WKT><XOrigin>-400</XOrigin><YOrigin>-400</YOrigin><XYScale>11258999068426.238</XYScale><ZOrigin>-100000</ZOrigin><ZScale>10000</ZScale><MOrigin>-100000</MOrigin><MScale>10000</MScale><XYTolerance>8.983152841195215e-009</XYTolerance><ZTolerance>0.001</ZTolerance><MTolerance>0.001</MTolerance><HighPrecision>true</HighPrecision><LeftLongitude>-180</LeftLongitude><WKID>4326</WKID><LatestWKID>4326</LatestWKID></SpatialReference><TileOrigin xsi:type='typens:PointN'><X>-180</X><Y>90</Y></TileOrigin><TileCols>256</TileCols><TileRows>256</TileRows><DPI>96</DPI><PreciseDPI>96</PreciseDPI><LODInfos xsi:type='typens:ArrayOfLODInfo'><LODInfo xsi:type='typens:LODInfo'><LevelID>0</LevelID><Scale>590995197.14166796</Scale><Resolution>1.406250026231578</Resolution></LODInfo><LODInfo xsi:type='typens:LODInfo'><LevelID>1</LevelID><Scale>295497598.57083398</Scale><Resolution>0.70312501311578901</Resolution></LODInfo><LODInfo xsi:type='typens:LODInfo'><LevelID>2</LevelID><Scale>147748799.28541699</Scale><Resolution>0.35156250655789451</Resolution></LODInfo><LODInfo xsi:type='typens:LODInfo'><LevelID>3</LevelID><Scale>73874399.642708704</Scale><Resolution>0.17578125327894775</Resolution></LODInfo><LODInfo xsi:type='typens:LODInfo'><LevelID>4</LevelID><Scale>36937199.821354397</Scale><Resolution>0.087890626639473987</Resolution></LODInfo><LODInfo xsi:type='typens:LODInfo'><LevelID>5</LevelID><Scale>18468599.910677198</Scale><Resolution>0.043945313319736994</Resolution></LODInfo><LODInfo xsi:type='typens:LODInfo'><LevelID>6</LevelID><Scale>9234299.9553385898</Scale><Resolution>0.021972656659868472</Resolution></LODInfo><LODInfo xsi:type='typens:LODInfo'><LevelID>7</LevelID><Scale>4617149.9776692903</Scale><Resolution>0.010986328329934226</Resolution></LODInfo><LODInfo xsi:type='typens:LODInfo'><LevelID>8</LevelID><Scale>2308574.9888346498</Scale><Resolution>0.0054931641649671242</Resolution></LODInfo><LODInfo xsi:type='typens:LODInfo'><LevelID>9</LevelID><Scale>1154287.49441732</Scale><Resolution>0.0027465820824835504</Resolution></LODInfo><LODInfo xsi:type='typens:LODInfo'><LevelID>10</LevelID><Scale>577143.74720866198</Scale><Resolution>0.0013732910412417797</Resolution></LODInfo><LODInfo xsi:type='typens:LODInfo'><LevelID>11</LevelID><Scale>288571.87360433099</Scale><Resolution>0.00068664552062088987</Resolution></LODInfo><LODInfo xsi:type='typens:LODInfo'><LevelID>12</LevelID><Scale>144285.936802165</Scale><Resolution>0.0003433227603104438</Resolution></LODInfo><LODInfo xsi:type='typens:LODInfo'><LevelID>13</LevelID><Scale>72142.968401082704</Scale><Resolution>0.00017166138015522239</Resolution></LODInfo><LODInfo xsi:type='typens:LODInfo'><LevelID>14</LevelID><Scale>36071.48441403</Scale><Resolution>8.5830690077611316e-005</Resolution></LODInfo><LODInfo xsi:type='typens:LODInfo'><LevelID>15</LevelID><Scale>18035.742100270701</Scale><Resolution>4.2915345038805658e-005</Resolution></LODInfo><LODInfo xsi:type='typens:LODInfo'><LevelID>16</LevelID><Scale>9017.8710501353398</Scale><Resolution>2.1457672519402802e-005</Resolution></LODInfo><LODInfo xsi:type='typens:LODInfo'><LevelID>17</LevelID><Scale>4508.9355250676699</Scale><Resolution>1.0728836259701401e-005</Resolution></LODInfo><LODInfo xsi:type='typens:LODInfo'><LevelID>18</LevelID><Scale>2254.46776253384</Scale><Resolution>5.3644181298507123e-006</Resolution></LODInfo><LODInfo xsi:type='typens:LODInfo'><LevelID>19</LevelID><Scale>1127.23388126692</Scale><Resolution>2.6822090649253562e-006</Resolution></LODInfo><LODInfo xsi:type='typens:LODInfo'><LevelID>20</LevelID><Scale>563.61694063345999</Scale><Resolution>1.3411045324626781e-006</Resolution></LODInfo></LODInfos></TileCacheInfo><TileImageInfo xsi:type='typens:TileImageInfo'><CacheTileFormat>MIXED</CacheTileFormat><CompressionQuality>75</CompressionQuality><Antialiasing>false</Antialiasing></TileImageInfo><CacheStorageInfo xsi:type='typens:CacheStorageInfo'><StorageFormat>esriMapCacheStorageModeCompact</StorageFormat><PacketSize>128</PacketSize></CacheStorageInfo></CacheInfo>

⑥点击分析并发布,之后可以在arcmap目录中查看切片进度

⑦可在刚刚配置切片时的页面中查看切片生成的文件保存地址,完整切片文件如下

三、设置GeoWebCache配置文件加载切片

请参考这位大佬的文章:

(17条消息) GeoServer(GeoWebCache)发布ArcGIS切片的操作方法及利用OpenLayers调用其发布服务的关键代码_大龄Giser的博客-CSDN博客/lynchee/article/details/87978099

如果发布多个图层,可以连续添加layer标签,如下:

<arcgisLayer><name>nhtest</name><tilingScheme>F:\geoserver\nh\Layers\conf.xml</tilingScheme><tileCachePath>F:\geoserver\nh\Layers\_alllayers</tileCachePath><hexZoom>false</hexZoom></arcgisLayer><arcgisLayer><name>nhtest2</name><tilingScheme>F:\geoserver\nh2\Layers\conf.xml</tilingScheme><tileCachePath>F:\geoserver\nh2\Layers\_alllayers</tileCachePath><hexZoom>false</hexZoom></arcgisLayer>

四、使用cesium加载WMTS服务

1.点击WMTS查看配置文件

2.写代码(注意:4326的Labels从1级开始)

addLayers = () => {const { viewer } = this.stateviewer.imageryLayers.addImageryProvider(new Cesium.WebMapTileServiceImageryProvider({url: 'http://localhost:8081/geowebcache/service/wmts',layer: 'taiwan_landForms',style: '',format: 'image/png',tileMatrixSetID: 'EPSG:4326_taiwan_landForms',tileMatrixLabels: [//这里从一级开始'EPSG:4326_taiwan_landForms:1', 'EPSG:4326_taiwan_landForms:2', 'EPSG:4326_taiwan_landForms:3', 'EPSG:4326_taiwan_landForms:4', 'EPSG:4326_taiwan_landForms:5'],//4326瓦片请求方案tilingScheme: new Cesium.GeographicTilingScheme()}))}

其它:

(17条消息) 利用GeoWebCache实现切片缓存_AI学渣的博客-CSDN博客/qq_28418387/article/details/82823928

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。