【开发者笔记】利用shp2pgsql将shape文件导入到postgresql中

导入shp文件到postgresql中

1、首先,你需要让shp2pgsql命令可用,百度下载,加入环境变量即可。

  下载地址:https://download.osgeo.org/postgis/windows/pg96/

  

  如图,打开网址,下载目标文件,解压得到如下目录:

  将该目录添加到环境变量,然后cmd可运行shp2pgsql即可。

  

2、命令如下:

  

shp2pgsql -s 3857 -a -W GBK 文件名.shp 命名空间名.表名 | psql -h localhost -U postgres -d 数据库名-p 5432

3、可能会出现导入失败,因为要先给导入的数据库增加空间扩展功能:

create extension postgis;
create extension postgis_topology;
create extension fuzzystrmatch;
create extension postgis_tiger_geocoder;

4、命令行提示输入密码

  为了在程序中免密码输入,我们加入pgpass.conf文件。在postgresql的安装目录下有该文件。如图

  文件内容如下:

  将该文件拷贝到如下目录:C:\Users\你的电脑名字\AppData\Roaming\postgresql

  OK,大功告成!

5、注意事项

  a、表名全部小写,postgresql识别不了大写表名

  b、文件名路径不能过长,最好不要包含中文

  c、编码格式采用GBK不乱码,如果乱码可以试试UTF-8

原文地址:https://www.cnblogs.com/wyongbo/p/shp2pgsql.html

时间: 2024-10-06 21:09:56

【开发者笔记】利用shp2pgsql将shape文件导入到postgresql中的相关文章

关于Excel文件导入到Sqlserver2008中出现截断错误的解决办法

出现错误的可能原因: 1.数据库字段Varchar长度不够: 2.不能用Text类型: 3.数据中可能存在换行符: 4.数据项文本过长,超过4000: 5.前8行的最大长度不够大,后面有超过的. 解决办法: 1.修改Varchar长度为足够长: 2.替换掉换行符(可手工输入一个换行符,复制到替换文本框中,Office中可按住Alt键,从小键盘输入10,再松开Alt键): 3.第一行中记录设足够长,导入后再替换: 4.把Excel文件存为2007格式,可解决导入后很多数据项为NULL的问题: 5.

Apache Spark技术实战之4 -- 利用Spark将json文件导入Cassandra

欢迎转载,转载请注明出处. 概要 本文简要介绍如何使用spark-cassandra-connector将json文件导入到cassandra数据库,这是一个使用spark的综合性示例. 前提条件 假设已经阅读技术实战之3,并安装了如下软件 jdk scala sbt cassandra spark-cassandra-connector 实验目的 将存在于json文件中的数据导入到cassandra数据库,目前由cassandra提供的官方工具是json2sstable,由于对cassandr

Java之利用openCsv将csv文件导入mysql数据库

前两天干活儿的时候有个需求,前台导入csv文件,后台要做接收处理,mysql数据库中,项目用的springboot+Vue+mybatisPlus实现,下面详细记录一下实现流程. 1.Controller层部分: /** * 读取csv文件,批量插入到数据库中 */ @RequestMapping("/importcsv") @RequiresPermissions("xxx:xxxxx:xxx") public R importCsv(@RequestParam(

将本地sql文件导入到mysql中

cmd命令操作:先创建一个同名数据库,然后通过source导入sql文件 1.启动mysql 2.mysql -uroot -p 输入密码运行mysql 3.创建一个同名数据库 create database <数据库名称>; 如 : create database estoresystem; 4.输入use <数据库名称>; 如: use estoresystem; 5.通过source导入sql文件 cmd下输入:source <数据库文件路径> 如:source 

Sqoop 将hdfs上的文件导入到oracle中,关于date类型的问题

近期的项目中,需要将hadoop运行完成的结果(存在于hdfs上)导入到oracle中,但是在用sqoop导入hdfs中的日期字段'2016-03-01'时,sqoop报错,说date类型必须为'yyyy-mm-dd HH:MM:SS.ffffffff'. 难道sqoop不支持自定义to_date函数么,于是我开始在网上寻求答案,但几乎找不到相关的资料,直到我在sqoop官网上看到如下的信息: sqoop导入date类型到oracle上时,只支持全格式的时间类型!!! 在这里贴出这个问题,希望对

利用 js-xlsx 实现 Excel 文件导入并解析Excel数据成json格式的数据并且获取其中某列数据

演示效果参考如下:XML转JSON 另一个搭配SQL实现:http://sheetjs.com/sexql/index.html 详细介绍: 1.首先需要导入js <script src="http://oss.sheetjs.com/js-xlsx/xlsx.full.min.js"></script> 2.导入文件框 这里importExcel(this)是方法,名字可以自己定义. <input type="file"onchang

[django]l利用xlrd实现xls文件导入数据

代码: #coding:utf-8 import os os.environ.setdefault("DJANGO_SETTINGS_MODULE", "www.settings") ''' Django 版本大于等于1.7的时候,需要加上下面两句 import django django.setup() 否则会抛出错误 django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet. '''

将.csv格式的文件导入oracle数据库中

第一种方法 1.选择工具---文本导入器 2.选择 到oracle的数据选择所有者和表. 3.选择打开文件,选择要导入的文本 4.在field中配置表的对应关系,filed1对应的是.csv中的第一列,配置对应数据的那一列,注意类型,不然导入数据会报错.之后点导入,完成. 第二种方法 1.创建控制文件 如,在E:\创建 test.ctl文件,文件内容为 load data ---控制文件标志 infile'e:/asd.csv'---要输入的文件名及路径 into tablejyzxsj_rdl

将CSV格式的文件导入到数据中

--创建表 create table t1( id number primary key, name varchar2(10), score number, subject varchar(10) ) --创建控制文件 t1.ctl,以文本的形式保存为ctl 格式的,放在所在目录下 load data infile 'D:\test\student.csv' insert into table t1 fields terminated by ','(id,name,score,subject)