地理信息系统

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

4
使用Python将Print / Map QGIS composer视图保存为PNG / PDF(不更改可见布局中的任何内容)吗?
我打开了QGIS作曲者/打印视图,并根据需要调整了所有元素。现在,我需要从Python控制台/ Python脚本将此文件打印/保存/导出为PNG或PDF文件。 我不想更改当前布局中的任何内容。与我在当前作曲家视图中看到的相比,我发现的大多数示例(例如:this)都会更改输出PDF中的地图位置或大小。我希望获得与单击“打印-> 导出为图像”时得到的结果完全相同的结果。 我怎样才能做到这一点?Atlas对我来说不是解决方案。

3
使用Python,GDAL和Scikit-Image进行图像处理
我正在努力进行处理,希望可以在此解决。 我使用应用于林业的遥感技术,尤其是处理LiDAR数据。想法是使用Scikit图像进行树顶检测。由于我是Python的新手,因此我认为完成以下工作非常有个人才能: 导入CHM(使用matplotlib); 运行高斯过滤器(带有scikit-image包); 运行一个最大值过滤器(带有scikit-image包); 运行peak_local_max(带有scikit-image包); 显示带有局部最大值的CHM(带有matplotlib); 现在我的问题。当我使用matplot导入时,图像会丢失其地理坐标。因此,我拥有的坐标只是基本图像坐标(即250,312)。我需要获取图像中局部最大值点(图像中的红色点)下的像素值。在论坛的这里,我看到一个人在问同样的事情(在没有NumPy的情况下,在OGR点下获取GDAL栅格的GDAL像素的像素值?),但是他已经在shapefile中包含了这些点。在我的情况下,这些点是使用scikit-image计算的(这是一个具有每个树顶坐标的数组)。所以我没有shapefile。 总之,我最后想要的是一个txt文件,其中每个局部最大值的坐标都在地理坐标中,例如: 525412 62980123 1150 ...

4
如何从其标记更新弹出内容?
我这样做是用Leaflet创建了一个弹出窗口: marker.bindPopup(content).openPopup(); 之后如何更新content值? 我想从标记中执行此操作,如下所示: marker.updatePopup(newContent);
11 leaflet  popup 

1
将多个shapefile批量加载到Postgis
根据shp2pgsql帮助,选项drop,append,create和prepare是互斥的。因此,如果我想从形状创建表,然后附加多个其他shapefile,我将执行以下操作,并保留一个计数器以指示我们处于创建还是附加模式。 cnt=0 for shp in $(ls *.shp); do if [ $cnt -eq 0 ] ; then shp2pgsql -s 27700 -c $shp schema.table_name | psql -h localhost db else shp2pgsql -s 27700 -a $shp schema.table_name | psql -h localhost db fi ((cnt++)) done 这可以按预期工作,但我经常想知道是否有更简单的方法?

1
QGIS使用向量仿射变换移动图层/所有要素
我正在使用QGIS分析使用其他软件生成的某些飞行轨迹。现在,当它们位于QGIS上时,所有元素的参考点都位于机场参考点0,0上。 但是在现实世界中,这个机场参考点是东西向和北向中的一个值。即Easting = 286499.025 Northing = 6230965.204,因此其他所有内容(跑道结束,航迹点应与真实世界完全相同) 我做了一些研究,发现了向量仿射变换插件。现在,使用该方法,如何将所有内容移到Easting = 286499.025 Northing = 6230965.204 Easting = X和Northing = Y的参考点。 我在理解插件矩阵时遇到麻烦。

2
使用QGIS进行双变量颜色渐变?
我看到的许多最新地图都具有这些整洁的双向颜色渐变,可用于对连续估计之间的颜色进行关联。 这是最近出版的一个例子。 Christian Levers,Pieter J. Verkerk,DanielMüller,Peter H.Verburg,Van Butsic,Pedro J.Leitão,Marcus Lindner,Tobias Kuemmerle-欧洲森林采伐强度格局的驱动因素。爱思唯尔。2014年3月1日(访问:http://dx.doi.org/10.1016/j.foreco.2013.12.030)。 我相信这些渐变是通过生成的ArcGIS 10.x,我想知道如何使用免费提供的GIS工具(或至少是Linux上可用的工具)重现这种颜色渐变? 很高兴听到建议或代码片段。

2
在Geoserver的SLD文件中使用简单的数学运算?
是否可以在Geoserver的SLD文件中使用简单的数学运算?假设我想从数据库中读取文本大小属性并乘以它的值,我该怎么做? <sld:TextSymbolizer> ... <sld:CssParameter name="font-size"> <ogc:PropertyName>text_size</ogc:PropertyName> * 2.1 </sld:CssParameter> ... </sld:TextSymbolizer> 这种简单的方法显然行不通,因此我认为必须有某种方法可以实现这一目标。
11 geoserver  sld 

2
有没有一种方法可以在QGIS中用多条线分割多边形?
我有一个多边形(.shp)和一个线(.shp)图层。我想沿着与多边形重叠的线将多边形分成几部分。之后,我要分别编辑每个多边形(属性表)。 我尝试了一种变通方法:将线缓冲一小段距离,然后将其与地理处理工具配合使用(差异-“未分类”)。之后是“多部分到单部分”。它起作用了,但是我更喜欢用线条来做。 QGIS是否有扩展或完成任务的其他方法?类似于ESRI ArcINFO工具“用线分割多边形”吗?但是我所拥有的只是QGIS 2.6。
11 qgis  vector  line 

1
自动检测轨道
给定的区域,从其开阔区域有凹陷;说所有在软地面上行驶的越野车。车辆将导致深度约10-20厘米,宽度约15-30厘米的平行凹陷(路径),长度随表面的坚固性而变化。 哪些遥感平台与以后的分析有关?快鸟,小型无人机,激光雷达,航空摄影? 工具(FME / QGIS / ESRI / other)中是否有任何可用的过程可用来记录路径? 为了简化这个问题,让我们假设我们确实知道该区域没有其他路径,或者它们已从图像中过滤掉。 完全自动化不是必需的,甚至可能甚至不可能。 这是曲目外观的一个示例。

1
更改地理服务器管理员密码
如何将geoserver admin的默认密码更改为其他密码geoserver? 我尝试了两种不同的方法,但均无济于事。根据在线文档尝试执行的第一件事是转到位于以下位置的data_dir: /usr/local/lib/geoserver-2.5/data_dir/security 我只能找到 <user enabled="true" name="admin" password="digest1:XXXX..."> 在中usergroup/default/users.xml。但是我无法编辑摘要。 我尝试的第二件事是从左侧面板“密码”菜单中的Web管理界面更改密码。虽然我可以更改密码,但似乎正在更改称为主密码的内容。的密码admin保持不变。 我正在使用来自osgeolive8的geoserver2.5。

1
如何在OpenLayers v3中获取功能位置
使用绘图交互或修改交互后,我有一个侦听器,该侦听器返回已修改或添加的功能。 例 draw.on('drawend', function (event) { // get the feature var feature = event.element; // ...listen for changes on it logStatus(feature.getId()); }); 我知道如何获取ID,但是我需要功能的位置(经纬度),因为我需要将其保存到数据库中,该怎么办?我在API中找不到它。

3
计算栅格面积的更准确方法
在日常工作中,经常有人要求我以30弧秒的分辨率计算地理投影中的全球栅格数据集的面积。这些数据集通常是“合并”操作的结果(一个典型的示例是与国家层相结合的植被类别)。为此,我们的单位创建了一个栅格数据集,其中地理投影中每个像素的面积为30弧秒。使用该面积网格,将执行zonalstat来汇总每个类别的面积。由于我不确定如何创建该区域网格,因此我一直想知道这种方法是否仅在等面积投影中重新投影栅格是否更准确(从简单的测试来看,这两种方法的结果是相似的)。是否有人遇到过类似情况?

3
从多边形到连续测量多样性?
首先; 我试图找到一个类似的问题,但没有成功。也许是因为我对GIS还是很陌生,我真的不知道自己到底在寻找什么。如果有人指出我存在类似问题,我很乐意删除该帖子。 我需要为给定国家/地区创建人口连续性的“连续”或栅格(在小网格中)变量。我有一个shapefile,显示了族裔在多边形中的分布(图1),我要寻找的结果是每个行政单位(非盟,在这种情况下,是360个尼日利亚选区)。 图1.尼日利亚的人口组多边形 我想出的解决方案是获取每个AU中每个多边形的面积百分比,然后从中计算出异质性指数。但是问题是由于行政单位的分配,我会留下很多信息。如图所示。在图2中,正方形“ a”,“ b”和“ c”将具有相同的“偏析指数”,但很明显,它们与“热点”的位置不同。 图2。 因此,尽管我可以提出另一种解决方案,即创建一个栅格地图,并计算到最近边界的距离,但是再次共享一个边界与在地图的中央部分(这是几个小组一起生活)并不相同。 找到这个问题之后,我猜想多边形可以使用其质心转换为点,然后应用相同的方法。但事实是,我对此并不陌生,而这个问题并未得到明确回答。我该怎么做? 使用另一个示例,我想创建类似以下内容(此网站的图片): 给定一些具有不同定性特征的点的分布,从我可以估计每个行政单位的“平均异质性”的位置获取多样性的度量。 我该怎么办?我使用R和QGIS,所以我不介意在哪个平台上创建解决方案。
11 qgis  raster  polygon  r 

2
匀称地阅读Postgis几何
我正在ipython Notebook中使用geopandas和shape进行小型工作流,​​有时从shapefile,有时从postgis(执行更昂贵的处理)中提取一堆地理空间数据。 现在,我使用将该postgis表拖入python中sqlalchemy,并一路将几何体转换为WKT,得到如下结果: sql = """ SELECT ST_AsText(ST_Transform(the_geom,4326)) as newgeom,* FROM public.parcels2010_small limit 5; """ parcels = pd.read_sql(sql, engine) parcels +----+---------------------------------------------------+---------------------------------------------------+-----------+-------------+ | id | newgeom | the_geom | parcel_id | osm_node_id | +----+---------------------------------------------------+---------------------------------------------------+-----------+-------------+ | 0 | MULTIPOLYGON(((-122.991093691444 38.4878691106... | 01060000209C0E00000100000001030000000100000097... | 1805792 | 66237 | +----+---------------------------------------------------+---------------------------------------------------+-----------+-------------+ | 1 | MULTIPOLYGON(((-122.444576448624 …

3
在世界许多地方,经纬度点绕1公里
我有数百个纬度长点分布在世界各地,并且必须在它们周围创建半径为1000米的圆多边形。我知道必须先将点从度数(经度)投影到具有米单位的东西,但是如何在不手动搜索和定义每个点的UTM区域的情况下做到这一点呢? 这是芬兰第一个重点。 library(sp) library(rgdal) library(rgeos) the.points.latlong <- data.frame( Country=c("Finland", "Canada", "Tanzania", "Bolivia", "France"), lat=c(63.293001, 54.239631, -2.855123, -13.795272, 48.603949), long=c(27.472918, -90.476303, 34.679950, -65.691146, 4.533465)) the.points.sp <- SpatialPointsDataFrame(the.points.latlong[, c("long", "lat")], data.frame(ID=seq(1:nrow(the.points.latlong))), proj4string=CRS("+proj=longlat +ellps=WGS84 +datum=WGS84")) the.points.projected <- spTransform(the.points.sp[1, ], CRS( "+init=epsg:32635" )) # Only first point (Finland) the.circles.projected <- gBuffer(the.points.projected, width=1000, byid=TRUE) plot(the.circles.projected) …

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.