地理信息系统

制图师,地理学家和GIS专业人员的问答


2
如何通过一个表中的特征通过另一表中的特征ST_Split?
我需要通过封闭线和非封闭线串(图层“ lin”)拆分多边形(图层“ pol”)。 不幸的是,运行以下查询没有得到正确的结果。 CREATE VIEW splitted_pol AS SELECT g.path[1] as gid, g.geom::geometry(polygon, SRID) as geom FROM (SELECT (ST_Dump(ST_Split(pol.geom, lin.geom))).* FROM pol, lin ) as g; 在我的示例中,ST_Split应该创建六个多边形(图层“ splitted_pol”)。 有人知道如何在QGIS / PostGIS中使用ST_Split吗?


1
基于线路连通性的PostGIS递归查询
我在查询时遇到困难。我有一个线串网络,每个线串在n_type列中都有一个值。这可能是少数选项之一。我想生成一个新表,该表将具有相同类型并形成连续线的所有线串分组。 之前: 后: 这是我到目前为止所得到的。它返回结果,但它们没有任何意义-类型不匹配,并且返回太多功能。 另请注意,我将“连续”定义为距其邻居5英尺以内且相交的角度小于30度的任何直线。 WITH RECURSIVE all_links (i, pk_uid, n_type, geom) AS ( SELECT 1 AS i, pk_uid, n_type, geom FROM network WHERE n_type != 'none' UNION ALL SELECT a.i + 1, b.pk_uid, b.n_type, b.geom FROM network b, all_links a WHERE b.n_type = a.n_type AND b.geom <#> a.geom <= …
9 postgis 

1
对泛锐分类有信心吗?
我使用分辨率合并资源,brovey变换和最近邻技术对ERDAS上的一张Landsat图像进行了锐化处理。但有人告诉我,就土地用途分类而言,这样做会是一个错误,因为全面锐化会产生错误的像素,从而增加误差。 真的吗?

2
OpenLayers 3:更改要素样式后如何刷新地图?
我有一个OpenLayers 3.2.0地图,其中包含一些矢量源(ol.source.Vector)和关联的矢量层(ol.layer.Vector) 将功能(ol.Feature)添加到矢量源时,会为它们提供一个data属性,该属性设置为该功能代表的javascript对象。TypeScript跟着... vectorSource.addFeature(new ol.Feature({ geometry: /* ... */, data: vectorData, })); 然后,矢量层具有一个样式功能,该功能可以读取data属性并检索其样式: vectorLayer = new ol.layer.Vector({ source: vectorSource, renderBuffer: /* ... */, style: function (feature: ol.Feature, resolution: any) { var data = </* TypeScript Type */>feature.get('data'); if ((data) && (data.style)) { return [data.style]; } else { /* return default …

6
在Mac OS上,QGIS无法读取CSV导入中的表格列
我试图将CSV文件导入QGIS,但最终看起来像下面的打印屏幕(程序是瑞典语,但是在预览窗口中,您可以看到QGIS如何无法正确读取我的数据)。由于某种原因,我无法加载数据,因为QGIS将我的CSV表列读取为一行。怎么了?我希望QGIS以数字形式读取数据,所以我创建了一个附加的csvt文件,其代码为“ String”,“ String”,“ Integer”。为了让QGIS将第三列读为数字,我还需要做些其他事情吗? 不过,这样做之后,它就会散发出来……
9 qgis  csv  import  mac 

3
将GeoJSON图层添加到OpenLayers 3
我有一个名为mygeojson.json的GeoJSON文件,我想将其添加为openstreetmap图层顶部的OpenLayers 3中的图层。到目前为止,我可以显示openstreetmap世界,包括缩放等。但是由于某种原因,我无法在其上获取mygeojson.json。 geojson包含许多多边形,如下所示: { "type": "FeatureCollection", "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, "features": [ { "type": "Feature", "properties": { "DN": 2 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 13.559093915055664, 52.545214330050563 ], [ 13.559633429050496, 52.545205649772548 ], [ 13.559633415380715, 52.545214636296755 ], [ 13.559093915055664, 52.545214330050563 ] ] …

3
在将IDLE与ArcGIS Pro和ArcGIS 10.x for Desktop体系结构一起使用时,如何区分Python版本?
我刚刚开始在笔记本电脑上使用ArcGIS Pro 1.0.0附带的Python 3.4.1,并且笔记本电脑还装有安装了ArcGIS 10.3 for Desktop的Python 2.7.8,我想将运行的机会降到最低当我打算并需要使用另一个版本时,一个版本的Python。 在Windows资源管理器中,现在有两个Python文件夹:C:\ Python27和C:\ Python34。 在Windows的“开始”菜单上的“所有程序”>“ ArcGIS”下,有一个带有IDLE(Python GUI)的Python 2.7文件夹,我经常使用它来启动IDLE,因此从这里开始就可以了。我测试过,它确实从2.7.8开始。 我曾期望在Python 2.7旁边或者在“所有程序”>“ ArcGIS”>“ ArcGIS Pro”下看到“ Python 3.4”文件夹,但是它在“所有程序”下的自己文件夹中。它包含另一个IDLE(Python GUI),该IDLE按预期启动3.4.1。 但是,当我在“开始”菜单上查看程序列表时,事情变得有些混乱,因为有两个IDLE(Python GUI)条目可供选择: 通过右键单击每个属性并使用其“属性”的“常规”选项卡,我将它们分别重命名为IDLE(Python GUI)2.7和IDLE(Python GUI)3.4,因此不会再造成混乱。 我通常以另一种方式启动IDLE的方法是,右键单击* .py文件,然后选择Edit with IDLE-但是我将获得的IDLE的Python版本现在是模棱两可的。通过测试,我发现它是3.4.1。 有没有一种方法可以将我的“带IDLE编辑”选择变成这两个选择? 使用IDLE 2.7编辑;和 使用IDLE 3.4进行编辑 我从不使用PythonWin进行编辑,所以如果我限于可以与* .py文件关联的两个程序来进行编辑,那么我很乐意牺牲使用PythonWin进行编辑,而放弃使用Python 3.4进行编辑。

1
如何将* .adf文件读入R?
我要将.adf文件加载到R中。数据来自以下页面:http : //www.fao.org/geonetwork/srv/en/metadata.show?id= 14057 我尝试了以下代码,这些代码是在互联网上进行一些研究后发现的。问题是,在RasterLayer类中,我得到了不应该存在的负值。我不知道为什么会这样,所以希望有人可以帮助我! 码: library(rgdal) library(RColorBrewer) dpath<- path... x <- new("GDALReadOnlyDataset", dpath) getDriver(x) getDriverLongName(getDriver(x)) xx<-asSGDF_GROD(x) r <- raster(xx) “ r”的输出为: r类:RasterLayer尺寸:2160、4320、9331200(nrow,ncol,ncell)分辨率:0.08333333、0.08333333(x,y)范围:-180、180,-90、90(xmin,xmax,ymin,ymax)坐标。参考 :+ proj = longlat + ellps = WGS84 + towgs84 = 0,0,0,0,0,0,0 + no_defs数据源:在内存名称中:band1值:-997,16(min,max) 值中的“ 16”表示生长期长度的16类。但是我不知道那些“ -997”来自哪里。坐标可能有问题。参考? 这也是“ xx”的数据摘要: 数据摘要:最小值 第一区 中位数第三区 最高 不适用-997 3 5 -9 …

2
使用virtualenv Python启动QGIS吗?
有什么方法可以告诉QGIS使用不同于默认的系统范围的Python安装?例如,使用一些virtualenv Python /myvirtualenv/bin/python代替/usr/bin/python? 背景:我正在开发一个自定义插件,该插件使用的某些模块仅安装在特定的virtualenv中,而不安装在系统范围内。 允许virtualenv访问系统范围的软件包,因此使用该virtualenv时仍应可访问qgis核心库。 我现在看到的唯一解决方案是在系统范围的Python中安装所需的模块。但是,如果可能的话,我只想将它们保留在virtualenv中。

1
在地理坐标(纬度/经度)或笛卡尔坐标(投影)中对LAS文件进行地理配准?
首先,我是GIS的新手。 我有一个与GPS和遥测数据相关联的激光雷达点云。然后,我将每个点的坐标转换为ECEF坐标系,最后使用局部切平面(LTP)近似将角坐标转换为笛卡尔坐标系。(此近似值使用第一个点的gps坐标作为参考系统原点,然后相对于第一个点参考其余点)。 我正在使用liblas编写LAS文件,但我真的不知道如何将地理参考信息设置为LAS文件。我正在写LTP近似中每个点的坐标,所以我有2个问题: 编写相对于LTP近似值的点坐标是否正确,还是应该以经/纬(gps)单位编写坐标?如果正确,如何设置地理配准尊重LTP? 如果“ 1”不正确,我必须以纬度/经度单位写入坐标,如何设置地理配准?用WGS84值编写VLR是否足够?

1
QGIS项目中可以有动态图层名称吗?
我有一个基于层的QGIS项目,该层基于使用当前日期的PostGIS SQL查询。由于数据库中的数据发生更改,因此这些查询每天都会返回不同的数据。 是否可以在图层树面板中动态更改图层的名称,使其代表当前日期?(即层名称,例如Traffic on 24.01.2015,每天都会更改)。字幕数据应取自图层中任何要素的属性-它们都具有相同的field值traffic_date。

2
R中的缓冲区和并集,而不减少为多多边形
我想执行空间叠加以识别一组点落入的多边形。但是,我首先要缓冲和溶解多边形,以使落入合并多边形内任意位置(而不是任何孔内)的点将通过叠加过程进行类似标记。 不幸的是,我正在使用的缓冲和/或溶解过程将SpatialPolygons对象简化为多面体。在时使用gBuffer会创建一个多面byid=FALSE,但在时无法合并重叠的多边形byid=TRUE。在后一种情况下,随后gUnaryUnion再次将其溶解会创建一个多多边形。SpatialPoints用这些多面叠加会导致所有包含的点都报告为落在面1内。 这是一个带有缓冲点的相关玩具示例,在这里我想用缓冲多边形对这些点进行覆盖: library(sp) library(rgeos) pts <- SpatialPoints(cbind(c(1, 1, 2, 3), c(1, 2, 1.5, 2.5))) plot(gBuffer(pts, width=0.6), lwd=2) points(pts, pch=20, cex=2) text(coordinates(pts), labels=seq_len(length(pts)), pos=4, font=2) 还有一些叠加的结果... 与byid=FALSE: b <- gBuffer(pts, width=0.6) over(pts, b) # [1] 1 1 1 1 与byid=TRUE: b2 <- gBuffer(pts, width=0.6, byid=TRUE) over(pts, b2) # [1] 1 …
9 r  sp 

1
是否在R中导入多个堆叠的栅格图像?
我想从指示的文件夹中导入所有多个镶嵌栅格(每个镶嵌由7层组成)到我的R中。然后将它们作为单个多层栅格进行访问。 所以我做了: # read all mosaics named "mos....img" in R raster_data<-list.files(path=getwd(), pattern="mos.*.img$") # read files as rasters s <- stack(raster_data) # check my imported rasters p.ex. raster n°8 from "s" raster stack s[[8]] 而我的栅格s [[8]]仅包含1层,因此未导入整个镶嵌! nlayers(s[[8]]) [[1]] 如果我分别阅读每个镶嵌图,它将起作用: # read 1 mosaic (composed by 7 bands) mosaic1<-brick("mosaic1.img") # extract one …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.