地理信息系统

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

1
QGIS3中缺少“新3D地图视图”
我真的对QGIS3的新3D地图视图功能感到好奇。现在,终于,QGIS3刚刚发布,但是我缺少3D地图视图!它应该在``视图''->``新3D地图视图''上,但不是。(https://anitagraser.com/2017/11/25/intro-to-qgis3-3d-view-with-viennese-building-data/) 是否取决于我的系统配置(基于Ubuntu 16.04,内核4.10的Linux Mint 18.3)?还是我忽略了设置?
10 qgis-3 

2
如何在Google Earth Engine中叠加乐队?
我已经在GEE中创建了一个Image集合,并且借助一个函数,我计算了NDVI索引并将其映射为以NDVI为波段创建另一个集合。 现在,我想用整个图像集合的NDVI波段创建一个堆叠图像。所以应该像NDVI_1,NDVI_2等... 我怎样才能做到这一点?我正在粘贴显示到目前为止我拥有的NDVI集合的代码 // Collection of Images var collection = ee.ImageCollection([feb1,feb2,Mar2,April1, April2, May1, May2, Jun1,Jun2, July2, Aug2, Sep1, Sep2,Oct1, Oct2, Nov1, Nov2, Dec1, Dec2 ]); //Using the following function,NDVI of the entire collection is computed var indicesS2 = function(scene) { var ndvi = scene.normalizedDifference(['B8', 'B4']).rename('NDVI'); var image = ee.Image() .set('system:time_start', …

1
为什么st_intersects比&&更快
这是一张积分表。约1M条记录 SELECT COUNT(*) as value FROM alasarr_social_mv s; Output: 976270 看起来st_intersects强制使用空间索引,但&&却没有。 采样使用ST_Intersects(282ms) SELECT COUNT(*) as value FROM alasarr_social_mv WHERE ST_Intersects( the_geom_webmercator, ST_MakeEnvelope(-410961,4920492,-402305,4926887,3857) ) Aggregate (cost=34370.18..34370.19 rows=1 width=0) (actual time=282.715..282.715 rows=1 loops=1) -> Bitmap Heap Scan on alasarr_social_mv s (cost=5572.17..34339.84 rows=60683 width=0) (actual time=21.574..240.195 rows=178010 loops=1) Recheck Cond: (the_geom_webmercator && '0103000020110F0000010000000500000000000000441519C1000000002BC5524100000000441519C1000000C069CB524100000000048E18C1000000C069CB524100000000048E18C1000000002BC5524100000000441519C1000000002BC55241'::geometry) …


3
学习PyQGIS的资源?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 2年前关闭。 我正在寻找一些学习PyQGIS的资源。 收集一些书籍或网站,提供一些实用的示例以学习语法或完成特定任务,这将是很有趣的。 理想情况下,这些资源应为初学者和有经验的用户提供一般指导。 在哪里可以找到QGIS教程和Web资源?这是一个非常相似的问题,但是它为学习QGIS(特别是PyQGIS)提供了帮助(实际上,它没有PyQGIS标签)。 有什么帮助吗?

1
使用GeoPandas更改绘图中的标记大小
我有一个带有点和一些关联数据的地理数据框。我想使用geopandas将其绘制在地图上,并使点的大小与geodataframe中的列之一相对应。 到目前为止,我有以下代码: base = world.plot(color='white', figsize=(20,10)) geo_df.plot(ax=base, marker='.', color='red', markersize = geo_df['Pop_2005']) plt.xlim([-85, -60]) plt.ylim([-5, 12.5]); 但我收到以下错误: TypeError: cannot convert the series to <class 'float'> 有任何想法吗?

1
在QGIS Geometry生成器符号层类型表达式中使用某些“临时变量”?
通过使用Geometry generator符号图层类型,我在尺寸@nv_bg_w(宽度)和@nv_bg_h(高度)(项目变量)的矩形上绘制线要素,可以在坐标text_x, text_y(属性,如果不是NULL)处,也可以在线的中心处,使用以下表达式: geom_from_wkt( 'POLYGON((' || COALESCE("text_x", x(point_on_surface($geometry))) ||' '|| COALESCE("text_y", y(point_on_surface($geometry))) || ','|| (to_real(COALESCE("text_x", x(point_on_surface($geometry)))+ @nv_bg_w )) ||' '|| COALESCE("text_y", y(point_on_surface($geometry))) || ','|| (to_real(COALESCE("text_x", x(point_on_surface($geometry)))+ @nv_bg_w )) ||' '|| (to_real(COALESCE("text_y", y(point_on_surface($geometry))))- @nv_bg_h ) || ','|| COALESCE("text_x", x(point_on_surface($geometry))) ||' '|| (to_real(COALESCE("text_y", y(point_on_surface($geometry))))- @nv_bg_h ) || ','|| COALESCE("text_x", x(point_on_surface($geometry))) ||' '|| …

1
为什么椭球距离大于笛卡尔距离?
我在EPSG:32632(WGS 84 / UTM区域32N)中创建了一些正好10000 m的线串功能。 QGIS计算出的所有线长(水平,垂直,对角线)为10 001.9 m。测量工具说明“已打开Project CRS转换并选择了椭球计算。将坐标转换为所选的椭球(WGS84),并以米为单位计算距离。” 当我在项目属性中将椭球设置为“无/平面”时,我得到了预期的结果(10000 m)。 我不明白“将坐标转换为选定的椭球(WGS84)”这一短语,这是对非投影度的转换(4326吗?)?由于32632已经基于WGS84,是否有需要转换的内容?如果涉及某种“大圆”计算,我希望长度只能变小。 QGIS的计算是否正确/有意义,是完全错误的还是出现舍入错误? 这是我测试过的几何: LineString (370000 5615000, 370000 5625000) LineString (366464.46609406732022762 5616464.46609406732022762, 373535.53390593267977238 5623535.53390593267977238) LineString (365000 5620000, 375000 5620000) LineString (373535.53390593267977238 5616464.46609406638890505, 366464.46609406638890505 5623535.5339059317484498) 编辑为MappaGnosis答案的补充:我忘记了在UTM中标准行内的比例小于1,这似乎是标题问题的简单答案。

1
调用gdal_merge进入python脚本
我是python的新手,并且对如何在(spyder)python脚本中使用gdal_merge不屑一顾。我使用Windows 10,Python 3.6,并从osgeo4w安装了gdal工具。我意识到还有很多其他文章描述了这个问题,但是没有一个可以帮助我解决这个问题。 当我从cmd调用gdal模块时,它的工作原理很像: python "C:\OSGeo4W64\bin\gdal_merge.py" -o merged.tif input1.tif input2.tif 但是,我无法使其在python脚本(spyder)中正常工作。 第一种方法产生一个输出,但是名称不正确:它产生一个“ out.tif”文件,而不是我要求的“ merged.tif”文件: import sys sys.path.append('C:\\OSGeo4W64\\bin') import gdal_merge as gm gm.main(['-o', 'merged.tif', 'N00W078.tif', 'N00W079.tif']) 第二种方法只是不产生任何输出: import subprocess merge_command = ["python", "C:\OSGeo4W64\bin\gdal_merge.py", "-o", "merged.tif", "input1.tif", "input2.tif"] subprocess.call(merge_command,shell=True) 关于如何解决此问题有什么想法?


3
仅将ESRI shapefile的一部分读取到R中
我有一个很大的ESRI shapefile(> 8000个多边形,.shp文件> 32MB),我想在Windows 7上读入R。 我熟悉rgdal和readOGR()。但是,对于这种大小的shapefile,将整个shapefile读取到内存中的过程非常缓慢。此外,我只对shapefile中包含的8,000个聚集的多边形(<100个)感兴趣。我需要执行的过程是高度重复的,即shapefile需要加载多次,因此目前非常缓慢。 因此,我想知道是否有可能仅读取shapefile的一部分以加速该过程。加载如此大量的数据然后丢弃其中的大部分似乎不切实际。
10 shapefile  r  rgdal 

1
R gstat krige()-位置[5.88,47.4,0]处的协方差矩阵奇异:正在跳过
当我想执行克里金法时,它有时只能工作,这取决于我在数据表中使用的值。作为krige函数的结果,我得到了var1.pred: NA NA NA ...and var1.var: NA NA NA ...(但仅当我在数据表中使用“错误”值时)。 例如: 它的工作原理总是(到目前为止)时,我只用10个值 它的工作原理,当我用50个值,但只有特定的一些 当我使用50个值和“错误”值时,它不起作用 当我使用25个值和前面提到的“错误”值时,它起作用 我不明白为什么它有时起作用而有时却不起作用。奇怪的是,当我添加Zwiesel;49.02999878;13.22999954;2.2到数据表中时,当我使用少于20个值时,它就起作用了;但是当我使用了50个以上的值时,它就不起作用了。 我的错误在哪里? myWeatherTable.csv: Place;Latitude;Longitude;Temperature Aachen;50.77999878;6.09999990;3 Abbikenhausen;53.52999878;8.00000000;7.9 Adelbach;49.04000092;9.76000023;3.1 Adendorf;51.61999893;11.69999981;1.9 Alberzell;48.45999908;11.34000015;4.6 ... ... 我的代码执行克里金插值 WeatherData <- read.csv(file="myWeatherTable", header = TRUE, sep ";") coordinates(WeatherData) = ~Longitude + Latitude vario <- variogram(log(Temperature) ~1, WeatherData) vario.fit <- fit.variogram(vario, vgm("Sph")) min_lon …

3
使用QGIS使线条弯曲?
我没有使用QGIS的丰富经验,并且正在用连接使用mmqgis插件创建的位置的线绘制地图。是否有一种简单的方法可以使这些直线出于美学目的而弯曲一些? 我正在尝试实现以下地图,但有多个中心。我已经阅读了有关如何使用PostGIS和其他高级工具执行此操作的建议,因此我进行了研究(包括此处的其他帖子),并尝试使用了多个插件,我特别想寻求一个简单的解决方案,因为我没有有很多经验。

1
使用PyQGIS添加字段并计算表达式?
我想使用PyQGIS添加一个新字段并计算每个功能的值。类似于字段计算器选项。 我的“字段计算器”表达式例如: y(start_point($geometry)) from PyQt4.QtCore import QVariant from qgis.core import QgsField, QgsExpression, QgsFeature vl = iface.activeLayer() vl.startEditing() #step 1 myField = QgsField( 'myNewColumn', QVariant.Float ) vl.addAttribute( myField ) idx = vl.fieldNameIndex( 'myNewColumn' ) #step 2 e = QgsExpression( 'y(start_point($geometry))' ) e.prepare( vl.pendingFields() ) for f in vl.getFeatures(): f[idx] = e.evaluate( …

2
如何在提供商提供的自定义tiff图像上使用gdal2tiles生成图块
我一直在努力为我们拥有的高分辨率图像生成图块。我们当前拥有的图像是非常大的(+ 20GB)图像,另存为GeoTiff文件。 我想使用gdal2tiles命令行实用程序生成图块,然后使用TMS图像提供程序提供图块,然后在Cesium中打开并查看它。使用gdalinfo,以下是图片的一些详细信息: Driver: GTiff/GeoTIFF Files: image.tif Size is 52250, 56119 Coordinate System is: PROJCS["WGS 84 / UTM zone 35S", GEOGCS["WGS 84", DATUM["WGS_1984", SPHEROID["WGS 84",6378137,298.257223563, AUTHORITY["EPSG","7030"]], AUTHORITY["EPSG","6326"]], PRIMEM["Greenwich",0], UNIT["degree",0.0174532925199433], AUTHORITY["EPSG","4326"]], PROJECTION["Transverse_Mercator"], PARAMETER["latitude_of_origin",0], PARAMETER["central_meridian",27], PARAMETER["scale_factor",0.9996], PARAMETER["false_easting",500000], PARAMETER["false_northing",10000000], UNIT["meters",1], AUTHORITY["EPSG","32735"]] Origin = (606276.000000000000000,7197873.000000000000000) Pixel Size = (0.500000000000000,-0.500000000000000) Metadata: AREA_OR_POINT=Area TIFFTAG_MAXSAMPLEVALUE=13165 TIFFTAG_MINSAMPLEVALUE=1 TIFFTAG_RESOLUTIONUNIT=2 …

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.