3

这几天,我一直困扰着一个大问题——Geoserver如何获取矢量瓦片?我一直在寻找许多文档和博客,并且有一些有用的资源来解决这个问题,如果一步一步操作非常容易:http: //suite.opengeo.org/docs/latest/dataadmin/vectortiles/index.html ;

但是做了这些操作后还是没有成功,不知道是什么原因,如果你有什么想法,请分享给我,谢谢你的好意~

ps:有一些来自控制台的消息,也许有用:关于gwc播种:

10 一月 10:27:45 INFO [seed.SeedTask] - GWC Seeder Thread-4 在 192 个瓷砖和 2 秒后完成(重新)播种层 cn:roads。

10 一月 10:27:45 INFO [seed.SeedTask] - GWC Seeder Thread-3 在 80 个瓦片和 2 秒后完成(重新)播种层 cn:roads。

10 一月 10:27:45 INFO [seed.GWCTask] - 线程组在 2.578 秒后完成 SEED 任务

我没有足够的声誉,所以我将消息复制到这里而不是发送图像,对不起

//************************************************ *************************

我已经添加了矢量瓷砖插件,

当我请求瓷砖时出现一些错误:

http://localhost:8080/geoserver/gwc/service/tms/1.0.0/cite:DLZXX_2011_PL_10000@EPSG%3A4326@geojson/11/1673/891.geojson 404(未找到)

//获取矢量图块的代码

var vectorTile = new ol.layer.VectorTile({

        //get source
        source: new ol.source.VectorTile({
            format:new ol.format.GeoJSON(),
            tileGrid: ol.tilegrid.createXYZ({
                maxZoom:14
            }),
            tilePixelRatio:1,
            url:'/geoserver/gwc/service/tms/1.0.0/'+layerName
              +'@EPSG%3A4326@geojson/{z}/{x}/{y}.geojson'
        }),
        style:initStyle
    });

    map.addLayer(vectorTile);

每个 Tile GET 请求的标头

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encodin: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Cookie: JSESSIONID=9679B11893A04A0ACE21D49D93AB7CDC
Host: localhost:8080
Referer: http://localhost:8080/23DPlatform/index.jsp
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0

响应头

Content-Disposition :inline; filename=geoserver-dispatch.text
Content-Encoding: gzip
Content-Type: text/plain
Date: Tue, 10 Jan 2017 13:01:09 GMT
Server: Apache-Coyote/1.1
Transfer-Encoding:chunked

//************************************************ ***************

也许你可以阅读这个问题,有一些类似的

Ionic / Leaflet - 无法获得 Tiles 404 Not Found(来自缓存)

4

1 回答 1

4

我已经通过 geoserver 和 openLayers3 获得了矢量图块。

1)geoserver(GeoWebcache)中的矢量图块是动态创建的,因此您无需单击GeoWebcache管理页面上的播种按钮;

2)你的数据的投影是一个非常重要的参数,OL3中的默认投影是EPSG:3857。所以你需要确保投影(层,源,tilegrid)是相同的

PS:我已经在我的博客上写下了这个过程:

http://www.cnblogs.com/escage/p/6387529.html

对不起,这是中文博客,如果您对这些主题有任何疑问,可以通过电子邮件与我联系:

ericliuneverlost@163.com

于 2017-03-06T01:21:43.563 回答