矢量数据

openlayer加载矢量切片

随声附和 提交于 2020-01-16 00:27:33
数据是GIS的灵魂,没有数据也就谈不上GIS了,数据分为矢量数据和栅格数据,栅格数据也有一些短处,缺乏灵活性、实时性,数据完整性受损是比较突出的问题,矢量数据不同于栅格数据,比较灵活,数据完整,将两者结合诞生出—>矢量切片,不要被矢量这个词迷惑,矢量切片是不可被编辑的, 不可编辑不代表不能获取其属性信息 。 矢量数据的优点: 矢量切片可以以三种形式呈现:GeoJSON、TopoJSON 和 MapBox Vector Tile(.mvt),矢量切片技术继承了矢量数据和切片地图的双重优势,有如下优点: 1、 对于栅格切片,更灵活,更细粒度的数据划分,要素级别; 2、 数据信息接近无损,但体积更小,请求指定地物的信息,直接在客户端获取,无需再次请求服务器; 3、样式可改变和定制(重点),矢量切片可以在客户端或者服务器端渲染,可以按照用户赋予的样式渲染; 4、对于原始矢量数据,更小巧,采用了重新编码,并进行了切分,只返回请求区域和相应级别的数据; 5、数据更新快,或者说是实时的,当数据库中的空间数据变化后,再次请求的数据是改变后的,在客户端渲染后既是最新的情况; 6、 更灵活,可以只是返回每个专题数据的图层,而不是像栅格切片把很多专题数据渲染在一个底图中。 详细介绍参考 https://blog.csdn.net/qingyafan/article/details/53367204

CSharp中的Vector结构

混江龙づ霸主 提交于 2020-01-13 13:57:46
本节将开发一个结构Vector,来演示运算符重载,这个Vector结构表示一个三维矢量。如果数学不是你的强项,不必担心,我们会使这个例子尽可能简单。三维矢量 只是三个(double)数字的一个集合,说明物体和原点之间的距离,表示数字的变量是x、y和z,x表示物体与原点在x方向上的距离,y表示它与原点在y方向上的距离, z表示高度。把这3个数字组合起来,就得到总距离。例如,如果x=3.0, y=3.0, z=1.0,一般可以写作(3.0, 3.0, 1.0),表示物体与原点在x方向上的距离是3,与原点在 y方向上的距离是3,高度为1。 矢量可以与矢量或数字相加或相乘。在这里我们使用术语"标量"(scalar),它是数字的数学用语-- 在C#中,就是一个double。相加的作用是很明显的。如果先移动(3.0, 3.0, 1.0),再移动(2.0, -4.0, -4.0),总移动量就是把这两个矢量加起来。矢量的相加是指把每个元素分别相加,因此得到(5.0, -1.0,-3.0)。此时,数学表达式总是写成c=a+b,其中a和b是矢量,c是结果矢量。这与使用Vector结构的方式是一样的。 注意: 这个例子是作为一个结构来开发的,而不是类,但这并不重要。运算符重载用于结构和类时,其工作方式是一样的。 下面是Vector的定义-- 包含成员字段、构造函数和一个ToString()重写方法

聊聊GIS数据的四个分层与GIS服务

时光怂恿深爱的人放手 提交于 2020-01-13 04:48:11
本篇不讨论矢量栅格数据的结构,也不讨论矢量与栅格的区别(即设定读者有这方面的基础)。 版权声明:原创。博客园/B站/小专栏/知乎/CSDN @秋意正寒 转载请标注原地址并声明转载: https://www.cnblogs.com/onsummer/p/12082568.html 本文系概念性很强的博客,但对GIS项目有帮助,对在读的学生也有一定帮助。 尽管从物理的角度,只有独立数据文件(shp、geojson、tif等)或者数据库(esri geodatabase的gdb、geopackage等)这两种 但是,从学科角度,即从GIS的视角看,地理数据并没有那么简单。 为解释简便,使用shapefile、geojson、tif栅格和gdb、postgis,辅助ArcMap/QGIS 3.10做解说。 1. 术语及概念定义 ① 地理数据 地理数据=空间数据+非空间数据;也叫地理信息。例如:一座医院;一所学校;一条道路;一条河流 ② 空间数据 即几何数据,描述坐标、形状的数据;也叫空间信息。例如:形状、坐标 ③ 非空间数据 即属性数据,描述与空间位置无关的一类数据。例如:成绩单、医院名称列表 这类数据的特点是,如果脱离了地理位置也有它本身自己的含义。 2. 矢量数据的四个分层 [暂空,过年前写完] 不妨这样想:每一层均为子一层的容器。大鱼吃小鱼,小鱼吃虾米。 2.1. 几何/属性层

搭建可离线的精美矢量切片地图服务

南楼画角 提交于 2020-01-07 02:13:51
1.PostGIS简介 PostGIS 是对象关系型数据库系统PostgreSQL的一个扩展,PostGIS提供如下空间信息服务功能:空间对象、空间索引、空间操作函数和空间操作符。同时,PostGIS遵循OpenGIS的规范。我们项目中主要使用它来保存原始矢量数据。 2.Geoserver简介 GeoServer 是 OpenGIS Web 服务器规范的 J2EE 实现,利用 GeoServer 可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通过 GeoServer 可以比较容易的在用户之间迅速共享空间地理信息。我们在GeoServer的基础上添加 vector Tiles 插件进行矢量切片。 3.数据准备 数据一:中国基础地理数据,格式为wgs84的shp数据: https://pan.baidu.com/s/16hN5znypnHR-Qw-BAejOoA 数据二:德国-德累斯顿市详细数据,格式为wgs84的shp数据: https://pan.baidu.com/s/1iiN4pntpNwN0W-T-831uJQ 这套数据来源于 openstreetmap 的数据,openstreetmap免费提供全球的空间数据,但是存在一点问题就是只能一块一块下载,拼接比较麻烦,我这套数据来自于 geofabrik 上共享的处理过后地理数据,感兴趣的大家可以看一下。 4

基于HT for Web矢量实现HTML5文件上传进度条

岁酱吖の 提交于 2020-01-06 18:54:54
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 在HTML中,在文件上传的过程中,很多情况都是没有任何的提示,这在体验上很不好,用户都不知道到时有没有在上传、上传成功了没有,所以今天给大家介绍的内容是通过 HT for Web 矢量来实现HTML5文件上传进度条,矢量在《 矢量Chart图表嵌入HTML5网络拓扑图的应用 》一文中已经讲述了关于setCompType()方法的应用,今天我们用setImage()方法充分利用系统中定义好的矢量资源来实现文件上传进度条,我们先来看下效果图: 从效果图可以看到,向服务器上传了一个mp4文件,并在最下方显示当前上传进度。 那么接下来我们就来探讨下具体实现: 首先,我们来分析下进度条的结构: 1. 需要一个背景,background 2. 需要一个当前进度值,value 3. 需要一个前景,foreground,根据当前进度值,绘制前景,盖过背景 结构就这么简单,那么接下来就是具体的实现了,看码: ht.Default.setImage('progress', { width : 150, height : 12, comps : [ // 绘制背景 { type : 'rect', rect : {x : 0, y : 0, width : 115, height : 12}, background : {func

B样条曲线

亡梦爱人 提交于 2020-01-06 04:30:14
1)B样条曲线的定义 B样条线不仅保留了Bezier曲线的优点,而且具有局部控制的能力,B样条曲线方程可写为: 其中di,i = 0,1,…,n为控制顶点。顺序连成的折线称为B样条控制多边形,Nik(u),i= 0,1,…,n称为K次规范B样条基函数,其中每一个称为规范B样条,简称B样条。它是由一个称为节点矢量的非递减的参数U的序列U0<U1<… <Ui+k+1所决定的光次分段多顶式。B样条具有局部支承性质,B样条基是多顶式样条空间具有最小支承的一组基,故被称之为基本样条(Basic spline),简称B样条。B样条与Bezier曲线比较有以下3点: (l)Bezier曲线的阶次与控制顶点数有关,而B样条的基函数次数K与体制顶占于de· (2)Bezier曲线所用的Bernstein基函数是多顶式函数.B样条曲线的基函数是多项式样条; (3)Bezier曲线缺乏局部控制能力,而B样条曲线具有局部控制性质。B样条的基函数可由下面的速推关系得到 上式中Ni,k(u)的次数由K确定.因此第i个K次B样条Ni,K(u)的节点为K+2个,即其支承区间为[ui,ui+K+1]。在B样条曲线方程中共有n+1个控制顶点,即要用到 n+1个k次B样条基函数,因此这些基函数所用的主承区间的并集就定义了这一组样条基的节点矢量,u=[u0,U1 , …,Un+k+1],可见B样条Ni,k(u

Tippecanoe矢量切片

心已入冬 提交于 2020-01-02 12:40:41
源代码名称: tippecanoe 源代码网址: http://www.github.com/mapbox/tippecanoe tippecanoe源代码文档 tippecanoe源代码下载 使用 GeoJSON 数据创建 矢量瓦片 目的 根据你的数据创造一个可自由缩放的视图 安装 最简单的安装方式是在OSX使用 Homebrew : $ brew install tippecanoe 也可以直接下载源码包,然后通过make && make install直接编译安装。 用法 $ tippecanoe -o file.mbtiles [file.json ...] 如果没有指定GeoJSON文件,它将会从标准输入读取。 如果指定了多个文件,每个文件都会创建一个对应的图层。 选项 tippecanoe提供了众多选项。大多数时候不需要指定额外的选项参数,只需要通过 -o output .mbtiles 指定输出文件名,或者 -f 来删除已经存在的文件。 如果你不确定所使用数据的最大级别,可以使用 -zg 来根据数据密度自动估算一个级别。 如果你的数据包含点状要素,通常需要使用 -Bg 来自动计算一个基准级别做数据抽稀。如果这种方式对你无效,可以尝试使用 -r1 --drop-fraction-as-needed 关闭传统的抽稀方法,而仅仅在瓦片太大时才做抽稀。

python 矢量数据转栅格数据

僤鯓⒐⒋嵵緔 提交于 2020-01-02 09:02:31
from osgeo import gdal,osr,ogr#定义投影sr = osr.SpatialReference('LOCAL_CS["arbitrary"]')#在内存中创建一个shape文件的图层,含有两个多边形source_ds = ogr.GetDriverByName('Memory').CreateDataSource( 'shapefile' )source_lyr = source_ds.CreateLayer('poly', srs=sr, geom_type=ogr.wkbPolygon )source_lyr.CreateField(ogr.FieldDefn('TCODE',ogr.OFTReal))wkt_geom = ['POLYGON((1020 1030 40,1020 1045 30,1050 1045 20,1050 1030 35,1020 1030 40))', 'POLYGON((1010 1046 85,1015 1055 35,1055 1060 26,1054 1048 35,1010 1046 85))']#栅格值celsius_field_values = [50,200]for i in range(len(wkt_geom)): feat = ogr.Feature(source_lyr.GetLayerDefn())

ArcGIS实验三:矢量数据采集与编辑

假如想象 提交于 2020-01-01 12:35:47
扫描矢量化是常见的GIS数据采集方法之一,在实际工作中很常见。有些人觉得数字化就是听着歌点鼠标,其实不然。数字化是GISer的基本功。掌握数字化的基本方法,熟练的进行数字化在实际工作中显得尤为重要。本实验在实验二( ArcGIS实验二:地理配准完整操作步骤 )的基础上演示利用ArcGIS 10.6软件进行数字化的基本操作。 一、实验目的 1、掌握数据层的创建方法 2、掌握矢量数据的采集方法及技巧 二、实验数据 实验二中经过地理配准的甘肃省地图 三、实验过程 1 、加载数据 在实验三文件夹下新建一个文件夹,命名为data,将实验二中数字化的甘肃省地图(注意:此时应是三个文件)拷贝到data下,然后加载,如下所示: 来源: CSDN 作者: 刘一哥38.6 链接: https://blog.csdn.net/lucky51222/article/details/103757932

开源方案搭建可离线的精美矢量切片地图服务-2.PostGIS+GeoServer矢量切片

爷,独闯天下 提交于 2019-12-31 09:29:03
系列文章目录 开源方案搭建可离线的精美矢量切片地图服务-1.开篇(附成果演示地址) 开源方案搭建可离线的精美矢量切片地图服务-2.PostGIS+GeoServer矢量切片 开源方案搭建可离线的精美矢量切片地图服务-3.Mapbox个性化地图定制入门 开源方案搭建可离线的精美矢量切片地图服务-4.Mapbox样式设计 开源方案搭建可离线的精美矢量切片地图服务-5.Mapbox离线项目实现 开源方案搭建可离线的精美矢量切片地图服务-6.Mapbox之.pbf字体库 开源方案搭建可离线的精美矢量切片地图服务-7.Arcgis Pro企业级应用 开源方案搭建可离线的精美矢量切片地图服务-8.mapbox 之sprite大图图标文件生成(附源码) 项目成果展示(所有项目文件都在阿里云的共享云虚拟主机上,访问地图可以会有点慢,请多多包涵)。 01:中国地图: http://test.sharegis.cn/mapbox/html/3china.html 02:德国-德累斯顿市: http://test.sharegis.cn/mapbox/html/6germany.html 1.PostGIS简介 PostGIS 是对象关系型数据库系统PostgreSQL的一个扩展,PostGIS提供如下空间信息服务功能:空间对象、空间索引、空间操作函数和空间操作符。同时