writing-skills
writing-skills
Use when creating new skills, editing existing skills, or verifying skills work before deployment
geoserverUse when deploying OGC-compliant map services (WMS, WFS, WMTS, WCS) or configuring SLD styling, security, and tile caching. GeoServer: the leading open-source Java map server for publishing spatial data to the web.
Independent GitHub snapshot · Automated classification · Original documentation governs
name: geoserver description: "Use when deploying OGC-compliant map services (WMS, WFS, WMTS, WCS) or configuring SLD styling, security, and tile caching. GeoServer: the leading open-source Java map server for publishing spatial data to the web." tags:
项目地址: https://github.com/geoserver/geoserver
官方文档: https://docs.geoserver.org/latest/en/user/
下载: https://geoserver.org/release/stable/
许可证: GPL-2.0
该 SKILL 关注 GeoServer 服务端运维与配置;REST API 自动化管理资源请配合
gis/geoserver-rest-api。
GeoServer 提供:
wget https://sourceforge.net/projects/geoserver/files/GeoServer/3.0.1/geoserver-3.0.1-bin.zip
unzip geoserver-3.0.1-bin.zip && cd geoserver-3.0.1
sh bin/startup.sh # http://localhost:8080/geoserver (admin/geoserver)
docker run --name gs -p 8080:8080 \
-e SKIP_DEMO_DATA=true \
-e EXTRA_JAVA_OPTS="-Xms512m -Xmx2g" \
-v $PWD/data:/opt/geoserver_data \
docker.osgeo.org/geoserver:3.0.1
GEOSERVER_DATA_DIR/
├── workspaces/<ws>/<store>/...
├── styles/
├── layergroups/
├── gwc/
└── security/
| 概念 | 说明 |
|---|---|
| Workspace | 命名空间 |
| Store | 数据存储 |
| Layer | 图层(Store 资源 + 样式) |
| Style | 渲染规则(SLD/CSS) |
| LayerGroup | 图层组 |
| GeoWebCache (GWC) | 内置瓦片缓存 |
my_ws访问 URL:
WMS : /geoserver/my_ws/wms?service=WMS&version=1.1.0&request=GetMap&layers=my_ws:poi&srs=EPSG:4326&bbox=...&width=512&height=512&format=image/png
WMTS : /geoserver/gwc/service/wmts?...&LAYER=my_ws:poi&...
WFS : /geoserver/my_ws/ows?service=WFS&version=2.0.0&request=GetFeature&typeNames=my_ws:poi&outputFormat=application/json
MVT : /geoserver/gwc/service/wmts?...&FORMAT=application/vnd.mapbox-vector-tile
<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor version="1.0.0"
xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc">
<NamedLayer>
<Name>poi</Name>
<UserStyle><FeatureTypeStyle>
<Rule>
<ogc:Filter><ogc:PropertyIsGreaterThan>
<ogc:PropertyName>pop</ogc:PropertyName>
<ogc:Literal>1000000</ogc:Literal>
</ogc:PropertyIsGreaterThan></ogc:Filter>
<PointSymbolizer>
<Graphic><Mark><WellKnownName>circle</WellKnownName>
<Fill><CssParameter name="fill">#ff0000</CssParameter></Fill>
</Mark><Size>10</Size></Graphic>
</PointSymbolizer>
</Rule>
</FeatureTypeStyle></UserStyle>
</NamedLayer>
</StyledLayerDescriptor>
gdaladdo 建金字塔UI:Tile Caching → Tile Layers → Seed/Truncate
curl -u admin:geoserver -XPOST \
"http://localhost:8080/geoserver/gwc/rest/seed/my_ws:poi.json" \
-H "Content-Type: application/json" \
-d '{"seedRequest":{"name":"my_ws:poi","srs":{"number":4326},"zoomStart":0,"zoomStop":10,"format":"image/png","type":"seed","threadCount":4}}'
| 扩展 | 用途 |
|---|---|
vector-tiles | MVT 输出 |
css | CSS 样式 |
wps | 处理服务 |
monitor | 请求监控 |
control-flow | 限流 |
printing | 打印 |
csw | 元数据 |
放入 webapps/geoserver/WEB-INF/lib/ 重启即可。
-Xms2g -Xmx4g -XX:+UseG1GCcontrol-flow 限流:ows.global=10| 问题 | 解决 |
|---|---|
| 启动慢 / OOM | 增加 -Xmx,关闭 demo 数据 |
| Shapefile 中文乱码 | Store 设 charset=UTF-8 或 GBK |
| 图层范围空白 | 重新计算 native bounds |
| WFS-T 403 | Data 规则允许 w 权限 |
| 跨域 | 配置 CORS 过滤器 |
docker.osgeo.org/geoserver:3.0.0charset=UTF-8 或 GBK?recurse=true 参数-Xms2g -Xmx4g -XX:+UseG1GCweb.xml 中配置 CORS 过滤器工作空间(Workspace)
├── 数据存储(Store) ─→ PostGIS / Shapefile / GeoTIFF
│ └── 图层(Layer) ─→ 设置 SRS + 绑定样式(Style)
└── 图层组(LayerGroup) ─→ 组合多个图层统一发布