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

泰州网站整站优化建设银行兰州分行网站

泰州网站整站优化,建设银行兰州分行网站,快速建站的模板,wordpress 菜单 宽度系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 geodjango框架解析之读取矢量数据shp文件写入postgis数据库 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录…

系列文章目录

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
geodjango框架解析之读取矢量数据shp文件写入postgis数据库


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 系列文章目录
  • 前言
  • 一、矢量文件
  • 二、读取文件
    • 1.安装geodjango环境
    • 2.找到环境中的gdal和proj的位置
    • 3.了解文件结构
  • 三、通过django写入数据库
  • 总结


前言

提示:这里可以添加本文要记录的大概内容:

Django是python的web框架,GeoDjango 是一个包含在 Django 中的 contrib 模块,它将 Django 变成一个世界级的地理网络框架。对于地理数据,有一些我们常用的文件格式比如xx.shp文件,我们如何保存shp文件的内容到数据库呢?geodjango如何处理矢量文件和栅格文件,并建立与数据的关联呢?


提示:以下是本篇文章正文内容,下面案例可供参考

一、矢量文件

常用的矢量文件是shp,shp文件单独不能使用,需要与prj 、dbf、sbn等文件一起使用。我们需要提前准备一份矢量文件。

二、读取文件

1.安装geodjango环境

2.找到环境中的gdal和proj的位置

python 安装gdal可能无法直接安装,需要下载whl文件进行安装。参考链接:https://blog.csdn.net/shanyanyi7173/article/details/125860103
python环境中安装gdal后,在环境的site-package文件下可以找到文件夹,这两个文件位置不一定是必要的,但是如果你的程序中异常报错时,需要明确gdal和proj位置。

3.了解文件结构

这里提供了一段python代码,需要提供shp文件所在位置

import os
from django.contrib.gis.gdal import DataSource
from django.contrib.gis.geos import GEOSGeometry, MultiPolygon, Polygonos.environ['GDAL_DATA'] = r"C:\Users\lenovo\PycharmProjects\1025\Mercury\Discern\venv\Lib\site-packages\osgeo\data\gdal"
os.environ['PROJ_LIB'] = r"C:\Users\lenovo\PycharmProjects\1025\Mercury\Discern\venv\Lib\site-packages\osgeo\data\proj"url = r'C:\Users\lenovo\Desktop\矢量数据_广东\ROI_polygon_project.shp'
ds = DataSource(url)
ly = ds[0]
f = ly[0]
g = GEOSGeometry(f.geom.ewkt)

获得的结果如下图
在这里插入图片描述

三、通过django写入数据库

这里参考本站替他文章,参考链接:

models.py用于管理数据库字段,内容如下:(不要忘了makemigrations和migrate)

from django.contrib.gis.db import models
from django.utils import timezoneclass SarLayer(models.Model):id = models.AutoField(primary_key=True)create_time = models.DateTimeField('创建时间', default=timezone.now)alter_time = models.DateTimeField('修改时间', auto_now=True)geom = models.MultiPolygonField(null=True)  # 地理信息area = models.FloatField('面积', default=0)file_shp = models.CharField('应用提取shp文件位置', max_length=1024, default='')class Meta:verbose_name = '图层数据'verbose_name_plural = verbose_name

views.py文件中的读取shp并写入数据库,因为shp存储的内容不同,尽量判断矢量形状,我这里都是多边。

from .models import SarLayerdef ct():l = {}file = r'C:\Users\lenovo\Desktop\矢量数据_广东\ROI_polygon_project.shp'ds = DataSource(file)mult_list = []area = 0for feature in ds[0]:if feature.geom_type == 'Polygon':mult_list.append(GEOSGeometry(feature.geom.ewkt))area += feature.geom.areal['area'] = areal['geom'] = MultiPolygon(mult_list)l['file_shp'] = fileSarLayer.objects.create(**l)

总结

以上就是今天要讲的内容,geodjango的功能还很强大,碰到具体问题需要具体分析。

http://www.yayakq.cn/news/919271/

相关文章:

  • 百度网站的优势官方网站做背景墙厂家
  • 珠市口网站建设无锡 网站建设
  • 自己做个网站ai生成logo
  • 过年做哪些网站能致富wordpress数据采集
  • 快速的网站开发工具工业部网站备案
  • 河北省网站备案管理系统企业网站建设兴田德润很赞
  • 许昌网站建设wordpress修改主题header背景色
  • 关于网站建设毕业答辩怎么说需要做网站的企业
  • 帮别做网站网站备案登记查询系统
  • 开展门户网站建设做网站所需技术
  • 网站建设多少钱京icp备免费erp企业管理系统
  • 网站建设需要自备什么聊城手机站网站公司
  • 茄子河区网站建设自查报告浏览器主页被篡改2345
  • 禅城区建网站公司系统重装后怎么装wordpress
  • org是国外的网站吗北京好的医疗网站设计
  • 化妆品商城网站方案珠海市今天刚刚发生的新闻
  • 做英文企业网站创建网站运营费用
  • 品牌网站建设策wordpress 不同分类不同模板
  • 建网站选服务器wordpress linux 静态
  • 店铺外卖网站怎么做网站关键词优化到首页后怎么做
  • 海珠定制型网站建设泰安公司网站建设
  • 网站设计用处wordpress构建android
  • 白云区做网站怎么做交易平台网站
  • 手机电视直播网站大全浏览器直接进入网站的注意事项
  • 漳州网站建设公司首选重庆seo网站排名优化
  • 大学生做网站的流程建网站网络公司
  • 贵州网站制作公司网站平台由什么搭建
  • 广东网站设计品牌设计景点网站怎么做
  • 网站开发从何学起淄博网站文章优化
  • 做网站的去哪找客户广告创意设计公司