GeoServer 简单几步发布矢量切片服务

GeoServer 是一个功能强大的开源的GIS服务器,其性能相当优越,支持包含wms、wfs、tms在内的多种服务类型,简单服务性能优于ArcGIS Server(仅测10.2版本)。

tms(矢量切片服务),是当下热门的服务器技术,其将矢量数据切片传送到前端,可以提高系统响应速度,并减轻服务器压力。目前十分热门的MapBox地图即采用这种技术,这也必是地图商技术发展的趋势。

GeoServer发布的矢量切片服务可以通过多种形式在前端调用,包括GeoJson、pbf 等等。在前端可以通过Mapbox GL for JS、leaflet、openlayers、ArcGIS API for JS进行调用。

以下介绍发布GeoServer服务的方法:

1、下载安装插件geoserver-2.13-SNAPSHOT-vectortiles-plugin,版本与Geoserver相同。

解压后放入GeoServer文件夹中的WEB-INF的lib文件夹中,然后重启服务;

服务功能列表中多了tms类型。 

2、启动完成后,访问GeoServer主页,建立工作区;

3、添加数据存储,可选择:ArcSDE、shapefile、postGIS等数据格式。

此处注意:发布的服务一定要定义投影:一般为 WGS84-Web Mercator

4、点击发布,在发布界面点击自动检测配置坐标系与地图范围。

5、切换到“Tile Caching”页面,设置发布切片的格式,矢量切片包括geojson、topojson、pbf,其中pbf数据格式数据量最小;

6、完成以上设置后,点击保存即可。

7、点击左侧“Tile Caching”下的“Tile Layers”,找到你发布的图层,选择你要预览的方式后,可以进行预览;

 

注:本文部分图片来自:https://www.jianshu.com/p/6d0cb4d0e432,介意删。

可以使用GeoTools和GeoServer发布GeoJSON格式的矢量切片。 首先,使用GeoTools将矢量数据转换为GeoJSON格式。这可以通过以下代码实现: ```java // 读取矢量数据 File file = new File("path/to/shapefile.shp"); Map<String, Serializable> params = new HashMap<>(); params.put("url", file.toURI().toURL()); DataStore dataStore = DataStoreFinder.getDataStore(params); // 获取要素集合 SimpleFeatureSource featureSource = dataStore.getFeatureSource(dataStore.getTypeNames()[0]); SimpleFeatureCollection features = featureSource.getFeatures(); // 将要素集合转换为GeoJSON格式 FeatureJSON featureJSON = new FeatureJSON(); ByteArrayOutputStream out = new ByteArrayOutputStream(); featureJSON.writeFeatureCollection(features, out); String geojson = out.toString(); ``` 然后,使用GeoServer发布GeoJSON格式的矢量切片。首先需要在GeoServer中创建一个数据存储,指向包含GeoJSON文件的目录。然后,创建一个图层并将其指向该数据存储。最后,使用GeoServer的瓦片分发功能来发布矢量切片。以下是一个例子: - 在GeoServer中创建一个数据存储: ![create data store](https://i.imgur.com/9b2v1Lv.png) - 创建一个图层并将其指向该数据存储: ![create layer](https://i.imgur.com/9nXb6Zv.png) - 使用GeoServer的瓦片分发功能来发布矢量切片: ![tile layer](https://i.imgur.com/sD8Xo8I.png) 这将启用GeoServer的瓦片分发功能,并将矢量切片发布为TMS协议。您可以在浏览器中访问以下URL来访问矢量切片: ``` http://localhost:8080/geoserver/gwc/service/tms/1.0.0/myworkspace:mylayer@EPSG%3A4326@geojson/{z}/{x}/{-y}.json ``` 其中,`myworkspace`是您的工作区名称,`mylayer`是您的图层名称,`EPSG:4326`是您的坐标系,`{z}`、`{x}`和`{-y}`是瓦片编号。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值