go gin gorm连接postgres postgis输出geojson

这篇具有很好参考价值的文章主要介绍了go gin gorm连接postgres postgis输出geojson。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

go gin gorm连接postgres postgis输出geojson

1. 技术环境

        go-gin-gorm

        postgres-postgis

        go vscode环境安装-智能提示配置

2. 简单实现代码

        思路就是:采用原生sql实现查询、更新等,采用gorm的raw来执行sql语句

package main

import (
	"fmt"
	"net/http"
	"github.com/gin-gonic/gin"
	"gorm.io/driver/postgres"
	"gorm.io/gorm"
)
// 前提是在postgres中安装好postgis插件
func main() {
	dsn := "host=localhost user=postgres password=5241 dbname=test port=5432 sslmode=disable TimeZone=Asia/Shanghai"
	db, _ := gorm.Open(postgres.New(postgres.Config{
		DSN:                  dsn,
		PreferSimpleProtocol: true,
	}), &gorm.Config{})

	r := gin.Default()
	r.GET("/data/:table_name", func(c *gin.Context) {
		table_name := c.Param("table_name")
        // 从postgis中利用 ST 函数 获得的结果,以string返回,然后前端进行解析即可
		var result string
		
		if db.Migrator().HasTable(table_name) {
			sqls := fmt.Sprintf("select json_build_object('type', 'FeatureCollection', 'name', '%s', 'features', json_agg(ST_ASGeoJSON(t.*)::json)) from %s AS t", table_name, table_name)
			db.Raw(sqls).Scan(&result)
		}
		fmt.Printf("%q", result)

		c.JSON(http.StatusOK, gin.H{
			"message": "ok",
			"data":    result,
		})
	})
	r.Run(":8080")
}

3. 结果图片

        go gin gorm连接postgres postgis输出geojson,GIS-WebGIS,go,gin,gorm,postgis,geojson

go gin gorm连接postgres postgis输出geojson,GIS-WebGIS,go,gin,gorm,postgis,geojson文章来源地址https://www.toymoban.com/news/detail-699799.html

到了这里,关于go gin gorm连接postgres postgis输出geojson的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前后端分离项目(gin+gorm+vue3)腾讯云部署详细教程(Xshell安装及使用,go,mysql,nginx安装及配置)

    1. 购买服务器 进入腾讯云官网点击最新活动,进入云+校园专区,我购买的是第一个 购买完成后,进入控制台,云产品选择轻量应用服务器,即可查看到自己的服务器,记住自己的公网IP 2. 重置密码 点击进入服务器详情,初次使用需重置密码 点击重置密码按提示操作即可,

    2024年02月06日
    浏览(54)
  • gin和gorm框架安装

    理论上只要这两句命令 然而却出现了问题 貌似是代理问题,加上一条命令 或者试试这个  可以成功安装 安装gorm的数据库驱动程序

    2024年02月14日
    浏览(32)
  • gin+gorm增删改查目录框架

    从网上找资料,发现,很多都是直接的结构 路由,后端的controller层,还有model层,都是放在了同一个main.go文件中,如果写项目的话,还得自己去拆文件,拆代码,经过查询和自己总结,下面放一个目录框架 总体目录结构 按照业务流程顺序,解释说明 1、加载自定义封装函数文

    2024年01月19日
    浏览(34)
  • 银河麒麟高级服务器操作系统V10SP2离线安装postgres12+postgis3.1.4步骤

    银河麒麟高级服务器操作系统V10SP2离线安装postgres12+postgis3.1.4步骤 所需安装包: 链接:https://pan.baidu.com/s/14DbNQ6kPIFOfVRhwkLCXnQ 提取码:i80i 1、Ncurses安装 Ncurses是一个能提供功能键定义(快捷键),屏幕绘制以及基于文本终端的图形互动功能的动态库。 rpm –ivh ncurses-devel-6.2-1.ky10.x

    2024年02月08日
    浏览(35)
  • golang-gin-mysql转gorm-struct--gen-model

    背景 :python-django项目用go-gin重构,数据库已存在,gin中使用gorm 所以需要工具将mysql数据库中的表结构转到orm的model中。 前提:因为国内访问github需要稳定的代理 Goproxy.cn  推荐这个 1.在项目路径中下载gen-model模块  go get -u github.com/DaoYoung/gen-model # GOBIN 目录下会有一个gen-model

    2024年02月09日
    浏览(26)
  • PostGIS:几何图形输出

    5.9.1. Well-Known Text (WKT) 5.9.1.1. ST_AsEWKT ST_AsEWKT -返回具有SRID元数据的几何体的已知文本(WKT)表示。 5.9.1.1.1. 概要 5.9.1.1.2. 描述 返回以SRID为前缀的几何图形的知名文本表示形式。可选参数可用于减少输出中使用的浮点数后的最大十进制位数(默认为15)。 此函数支持3d,并且不会删

    2024年02月16日
    浏览(25)
  • go gorm 查询

    定义model helper main https://gorm.io/docs/query.html https://gorm.io/docs/advanced_query.html

    2024年02月11日
    浏览(28)
  • go gorm创建记录

    创建model dbhelper main 参考

    2024年02月11日
    浏览(30)
  • Go gorm库(详细版)

    目录 01. 什么是ORM 02. 环境搭建 03. 连接数据库 高级设置 gorm 的命名策略 创建表 日志显示 04. 模型定义 定义一张表 自动生成表结构 修改表字段大小 字段标签 05. 单表查询 5.1 表结构 5.2 添加单条记录 5.3 批量插入 5.4 单条数据查询 5.5 根据主键查询 5.6 根据结构体进行查询 5.7

    2024年04月15日
    浏览(18)
  • go gorm 操作MySQL初探

    安装 实例 参考 https://duoke360.com/tutorial/gorm/query-recored

    2024年02月12日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包