如何通过Geoserver获取矢量瓦片?

3
在这些天里,我一直被一个大问题困扰——如何通过Geoserver获取矢量切片?我查找了许多文档和博客,并且有一些对于这个问题非常有用的资源,如果按照步骤操作,那么操作非常容易:http://suite.opengeo.org/docs/latest/dataadmin/vectortiles/index.html
但是在这些操作之后,我仍然没有成功,我想知道原因,如果你有一些想法,请与我分享,谢谢你的好意~
PS:控制台上有一些信息,也许它很有用:
关于gwc seeding:
10 一月 10:27:45 INFO [seed.SeedTask] - GWC Seeder Thread-4 completed (re)seeding layer cn:roads after 192 tiles and 2 seconds.
10 一月 10:27:45 INFO [seed.SeedTask] - GWC Seeder Thread-3 completed (re)seeding layer cn:roads after 80 tiles and 2 seconds.
10 一月 10:27:45 INFO [seed.GWCTask] - Thread group finished SEED task after 2.578 seconds.

由于我的声望不够,所以我将消息复制到这里,而不是发送一张图片,抱歉。

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

我已经添加了矢量切片插件,

但是在请求切片时出现了一些错误:

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 - 无法获取瓦片 404 Not Found(来自缓存)


请添加更多关于您的设置的细节,您是否添加了矢量切片插件?当您请求切片时,在日志中看到了什么错误?注意:以上行是信息性的而不是错误。 - Ian Turton
@iant 是的,没问题。我已经添加了矢量切片插件,并且源代码在这里:http://ares.boundlessgeo.com/geoserver/master/ext-latest/ 当我请求瓦片时出现了一些错误: ol.js: 428 GET http://localhost:8080/geoserver/gwc/service/tms/1.0.0/cite:DLZXX_2011_PL_10000@EPSG%3A4326@geojson/11/1673/892.geojson 404(未找到) - ZijianLiu
请将以下有关编程的内容从英语翻译成中文。仅返回翻译后的文本: - Ian Turton
抱歉,这是我第一次在stackoverflow上提问,我已经编辑了问题。 - ZijianLiu
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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接