当前位置: 首页 > article >正文

关于go-shp创建shp文件问题

初试使用go代码实现将csv数据转换为shp文件,发现一个问题,可能是刚接触gis开发的事,对这方面不熟悉,把过程记录下来,以备以后可查。

我使用github.com/shangqingfeng/go-shp 批量将csv数据转换为shp文件,程序生成的只有dbf、shp和shx三种类型的文件,但是使用QGIS加载shp文件图层,发现只能显示一个点,并且这个点的位置始终不变就在地图的中央位置,无论数据怎样变化都只是一个点,开始认为是代码写错了,于是使用代码读取创建的shp文件看里面数据也都写入的正常,换了github.com/jonas-p/go-shp这个库,也还是出现同样问题。于是我就使用QGIS正常加载CSV数据将图层导出为shp文件,发现导出的文件类型不止3个,还有prj、cpg和qmd类型的文件,我尝试只保留dbf、shp和shx数据,将刚才导出的图层重新以shp文件形式加载到QGIS中,发现和之前用代码创建的显示效果一样,这才忽然明白:go-shp库创建shp文件时是不会自动生成prj文件的,这个文件是记录数据采用的坐标系信息,需要手工编写。于是我就拷贝使用QGIS导出的图层生成的prj文件到刚才代码生成的shp文件目录,将prj文件的文件名和shp文件文件名修改一致,然后再使用QGIS重新添加shp文件图层就可以正常显示了。

使用记事本打开,查看剩余的cpg文件是记录的编码格式GBK或UTF8什么的;qmd文件是QGIS创建的自身的一个信息记录文件,尝试了一下,这两个文件都可以直接删除,对shp文件图层加载没什么影响。


http://www.kler.cn/a/296919.html

相关文章:

  • PDF到CAD转换:四大实用工具指南!
  • HCIA--实验十三:VLAN间通信子接口实验/双单臂路由实验
  • EUDR迫在眉睫,FSC和PEFC给出应对方案
  • YOLOv8 只检测人 只画框不要标签
  • 跟李沐学AI:语言模型
  • 《深入浅出WPF》读书笔记.11Template机制(上)
  • 酒茶香链接心灵——探寻现代人幸福生活
  • C#中的控件和组件
  • SprinBoot+Vue动漫交流与推荐平台的设计与实现
  • Java Native Interface (JNI) 简介
  • 2024全球广播摄像机市场前景如何?IP网络化云端融合趋势加强
  • 使用图论技巧——有遍数限制的最短路
  • 【LabVIEW学习篇 - 18】:人机界面交互设计02
  • Rust语言初探:WebAssembly 入门
  • 【C++】std::list
  • C语言新手小白详细教程(8)ASCll编码和字符串
  • linux下oracle启动及关于pfile和spfile启动参数文件的配置
  • 数据类型与赋值
  • java开发,记录一些注解和架构 pojo、entity、respository
  • AI跟踪报道第55期-新加坡内哥谈技术-本周AI新闻: GPT NEXT (x100倍)即将在2024推出