• 安装postgis


    由于postgresql安装了多个版本,在安装完postgis之后有问题,无法识别,所以先卸载了postgresql然后安装了最新的版本

    sudo apt-get --purge remove postgresql\*

    sudo apt-get upgrade

    sudo apt search postgresql

    sudo apt install postgresql-12

    sudo /etc/init.d/postgresql start

    查看5432端口是否正常运行

    netstat -nlt

    引入软件源

    sudo apt install gnupg software-properties-common

    wget -qO - https://qgis.org/downloads/qgis-2021.gpg.key | sudo gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/qgis-archive.gpg --import sudo chmod a+r /etc/apt/trusted.gpg.d/qgis-archive.gpg

    sudo add-apt-repository "deb https://qgis.org/ubuntu $(lsb_release -c -s) main"

    鉴于仓库 'https://qgis.org/ubuntu focal InRelease' 不支持 'i386' 体系结构

    sudo add-apt-repository ppa:ubuntugis/ppa

     sudo apt-get update

    sudo apt install postgis

    建议安装这个带界面

    sudo apt-get install postgis-gui

    postgis是postgresql的扩展,需要在数据库启用,要在postgres数据库上启用

    * -- Enable PostGIS (as of 3.0 contains just geometry/geography)
    * CREATE EXTENSION postgis;
    * -- enable raster support (for 3+)
    * CREATE EXTENSION postgis_raster;

    导入shape文件查看数据

    shp2pgsql -s 4326 -c -W "UTF-8" mline.shp public.mline | psql -d databasename -U postgres -W

    shp2pgsql -s 3857 -c -W "UTF-8" mline.shp public.mline | psql -d databasename -U postgres -W

    投影标准:

    在地理坐标系中经纬度的单位是度,坐标表示为:(117.435974 33.609617);但在投影坐标系中不同的投影标准有不同的单位,如常用到的投影标准:3857以米为单位,4326以度为单位。

    地理数据的类型:geography和geometry
    在数据库中, 地理坐标系类型是 geography;投影坐标系的类型是 geometry

    类型 geography 的数值单位是度,如数据(117.435974 33.609617) 表示 东径 117.435974 度, 北纬33.609617度;

    但对于 geometry 类型,在 4326 投影标准中表示为 东径 117.435974 度, 北纬33.609617度,但在 3857的投影标准中则表示为东径 117.435974 米 北纬33.609617米

    · 单位的差异

     单位例子值范围限制
    geography (117.435974 33.609617) 径度: 0 ~ ±180; 纬度: 0~ ±90,超出异常或负值
    geometry-4326 (117.435974 33.609617) 径度: 0 ~ ±180; 纬度: 0~ ±90,超出异常或负值
    geometry-3857 (13072912.8999608,3976502.86726954) 具体参照3857标准

    ·类型的转换
    在数据库操作中通过 :: 进行类型转换时,表示只修改类型,但值不会改变,如 1::text, ‘1’::int 等
    因此数据在范围(径度: 0 ~ ±180; 纬度: 0~ ±90)中的地理信息,可以直接用 :: 操作符进行geography和geometry的转换,但经过转换后实际的含义也会发生变化,如

     geographygeometry-4326geometry-3857
    geography 可以 可以 可以
    geometry-4326 可以 可以 可以
    geometry-3857 不可以 可以 可以
  • 相关阅读:
    fabrci网络调优
    fabric链码容器
    fabric文档查阅
    fabric基础设施管理-(五)移除网络
    fabric源码编译
    fabric网络状态监控
    fabric基础设施管理-(六)配置管理
    Scheme宏基础入门(转载)
    GO语言程序中解决中文日期格式的解析问题
    临别之际
  • 原文地址:https://www.cnblogs.com/leinuo2016/p/16040327.html
Copyright © 2020-2023  润新知