
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
基于https://github.com/opengeospatial/ogcapi-features/blob/master/core/examples/openapi/ogcapi-features-1-example1.yaml%E8%A7%84%E8%8C%83%E7%A4%BA%E4%BE%8B1%E7%9A%84%E5%AE%9E%E7%8E%B0%EF%BC%8C%E9%87%87%E7%94%A8GeoJSON%E6%A0%BC%E5%BC%8F%EF%BC%8C%E4%BB%A5Geopackage%E4%BD%9C%E4%B8%BA%E6%95%B0%E6%8D%AE%E6%8F%90%E4%BE%9B%E5%99%A8%E3%80%82
代码灵感及部分实现借鉴自https://github.com/go-spatial/jivan和https://github.com/go-spatial/tegola。与jivan相比,主要差异在于数据提供器设置、大型Geopackage的查询性能优化以及SQL特性扫描的调整。
规范为初步版本,通过go generate可基于API规范生成路由、提供器接口、类型结构及便捷的参数提取,以便轻松保持与规范的同步更新。
GOAF Geopackage示例:https://github.com/PDOK/wfs-3.0-gpkg
dockerdocker build -t pdok/goaf:latest . docker run --rm -v `pwd`/example:/example -e PROVIDER='gpkg' -e PATH_GPKG='/example/bgt_wgs84.gpkg' -e ENDPOINT='http://localhost:8080' -p 8080:8080 pdok/goaf:latest
执行./run_postgis.sh
示例表结构:
sqlCREATE TABLE bgt_wfs3_v1.bak ( _id text COLLATE pg_catalog."default" NOT NULL, _version text COLLATE pg_catalog."default", properties jsonb, _geom geometry, _bbox geometry, _offset_id bigint NOT NULL DEFAULT nextval('bgt_wfs3_v1.bak__offset_id_seq'::regclass), _created timestamp without time zone, CONSTRAINT bak_pkey PRIMARY KEY (_id) ) WITH ( OIDS = FALSE )
gobindHost := flag.String("s", envString("BIND_HOST", "0.0.0.0"), "服务器内部绑定地址,默认:0.0.0.0") bindPort := flag.Int("p", envInt("BIND_PORT",8080), "服务器内部绑定端口,默认:8080") serviceEndpoint := flag.String("endpoint", envString("ENDPOINT","http://localhost:8080"), "服务器端点(用于代理),默认:http://localhost:8080") serviceSpecPath := flag.String("spec", envString("SERVICE_SPEC_PATH","spec/oaf.yml"), "Swagger OpenAPI规范路径") defaultReturnLimit := flag.Int("limit", envInt("LIMIT",100), "默认返回限制,默认:100") maxReturnLimit := flag.Int("limitmax", envInt("LIMIT_MAX",500), "最大返回限制,默认:1000") providerName := flag.String("provider", envString("PROVIDER",""), "数据提供器类型:postgis或gpkg") gpkgFilePath := flag.String("gpkg", envString("PATH_GPKG",""), "Geopackage文件路径") crsMapFilePath := flag.String("crs", envString("PATH_CRS",""), "CRS文件路径") configFilePath := flag.String("config", envString("PATH_CONFIG",""), "配置文件路径") connectionStr := flag.String("connection", envString("CONNECTION", ""), "数据库连接字符串") featureIdKey := flag.String("featureId", envString("FEATURE_ID",""), "默认要素标识键,若未指定则使用第一列定义(fid)") // 对gpkg提供器为可选参数
gogo test ./... -covermode=atomic
提交Pull Request...
采用MIT许可证分发,详情请参见代码中的许可证文件。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务