地理信息系统

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

1
如何防止QGIS Composer在出血空间中呈现标签?
我正在为一本书绘制地图,其中地图一直延伸到页面的边缘。打印机建议在图像周围留出3mm的出血空间,因此,如果我的页面为127x177毫米,则图像应为133x183毫米。排空空间是为了在裁切书籍页面时允许出现错误,并且在地图的情况下不应包含任何基本信息。因此,我使用的作曲家页面大小在所有面上都包括这些额外的3毫米。 我不希望在地图的边缘处剪掉城镇的标签,因此我禁用了“显示局部标签”选项。但是,标签仍在打印机可能会切开的3毫米“无人区”内显示。 我考虑的解决方案是制作两个重叠,同心且完全对齐的地图,下面的地图运行到出血的边缘并且不显示城镇,顶部的地图将是书页的确切尺寸(即3mm并比城镇地图少一圈)并显示城镇图层,因此在没有城镇(或标签)的地方创建了3毫米的边框。 但是,我无法使这两个地图在作曲家中完美对齐。我曾尝试计算这两个地图的范围,以使它们具有相同的中心和相同的比例,但是QGIS编写器似乎具有固定的3位小数位精度,因此我永远无法使它们完美对齐。 解决此问题的另一种方法是新功能,该功能不允许在“功能周围的余量”图集内呈现标签。 有什么办法可以防止标签在出血边界内呈现?

4
通过QGIS在您的硬盘上保存WMS图层吗?
好吧,这是另一个问题。我现在正在处理一组WMS数据,我想知道是否可以将其保存在硬盘上。我确实知道您可以将当前视图另存为地理参考Tif,但是考虑到我需要的分辨率和工作空间所覆盖的空间,我需要更快的速度,否则我将持续数周。
10 qgis  wms  export  save 

1
将经度/纬度转换为地图上的像素
我从这里有一张地图。我希望能够简单地将任意lon / lat对转换为地图上的像素(还可以进行反向转换)。这些地图带有.tfw文件和投影信息,这里是: 0.02222222222222 0.00000000000000 0.00000000000000 -0.02222222222222 -180.00000000000000 90.00000000000000 和投影信息: Projection: Plate Carree aka Geographic or "LatLong" Earth ellipsoid: Sphere, radius 6370997 m Datum: WGS84 Extent: 180 West to 180 East, 90 North to 90 South Size: 16,200 height samples wide x 8,100 high Resolution: 2.47 km/pixel 我对制图相关的知识完全陌生,据我所知,我应该首先进行从WGS84(单双)到地理投影的转换(不是吗?)。在我看来,它们实际上是相同的,但是上面的投影信息中的球体半径是6370997,并且与我在Plate Carree投影中发现的spacespacereference.com页面不同。无论如何,我发现DotSpatial.Projections库可以使用以下代码为我完成此操作: var …

3
跨国际日期变更线的多边形[-180 .. + 180经度]
我正在尝试为卫星轨道条带生成多边形。到目前为止,我有一种方法可以生成两条线,以[lat,long]表示每个条带的边缘。一些条带跨越了国际日期变更线,因此绕了一下: 我能够通过以下方式解决此问题ogr2ogr -wrapdateline: ogr2ogr -wrapdateline -f "ESRI Shapefile" test.shp orbits.shp 哪条线可能会分开 现在,我希望能够在两条线的内部生成多边形。因此,例如,在条幅的一个边缘与日期线交叉的情况下,当多边形出现在另一侧时会填充该多边形,例如: 我需要一种自动化的方法,因为我需要重复很多次任务。最好在python中,因为那是我生成线的方式。这是包含这些行的两个shapefile:wraparound ; datelinefixed

2
要素类中的一对多联接到表
我正在使用具有高级许可证的ArcMap 10.2.2。我已经将ArcMap用于其他基本分析,但是对于该程序来说这是一个新手,仅具有基本的编码技能,除了使用ArcMap中的SQL代码生成器进行非常基本的查询外,没有SQL经验。 我有一个物种地理范围的多边形,并且有一张表格,列出了这些物种携带的病原体/疾病。某些物种携带多种病原体。在理想的世界中,我将范围的多边形连接到“物种+病原体”表中并保留多边形/空间数据,但是似乎没有GIS工具可以做到这一点(我将之后再计算重叠的病原体,因此每种物种-病原体组合都具有自己的特征,而不是具有多种病原体信息的特征很重要。这些是我的数据的样子(#1&#2,#3供以后使用): 空间特征的属性表: 没有任何空间数据的表: (请注意,这些不是真实的数据,病原体-物种组合可能不是真实的。我实际上有115个多边形和519行表。物种携带1-40种病原体,因此物种在1-40行之间我的桌子) 另外,由于需要进行将来的分析,因此理想情况下,我希望能够进行此一对多联接,以便可以从表中保留额外的数据列(请参见下面的示例)看起来如何)。但是,这并不重要,因为如果我能弄清楚如何进行联接,就可以重做分析。 我找到了一些解决此问题的方法,但由于以下原因,它们对我不起作用: 解决方案1:David Aalbers的博客 -我对一个新手来说太过头了,无法弄清楚如何编辑较新的脚本并弄清楚如何将其导入ArcMap。我尝试了较旧的脚本,它只是生成了大量名为test,test_1,test_1_1,test_1_1_1等的空多边形。 解决方案2:一对多联接 -我尝试使用Make Query Table工具(尽管我使用表达式生成器,但我不具备SQL知识),但出现错误000383:表出现问题,找不到工作区&执行失败(MakeQueryTable)。我所有的文件都在同一个文件夹中,但是不在地理数据库中。

1
使用无人机的图像计算区域内的植物数量?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 2年前关闭。 如何计算1公顷区块中的菠萝植物数量? 我听说过这些算法,但我不知道该怎么做。 我仍然是QGIS,ArcGIS和ENVI的新手。我有该区域的NIR,RGB,Red Edge图像。谁能教我该怎么做? 我可以使用eCognition开发人员,但是我仍然是此软件的新手。

1
是否需要从SRID 4326(WGS 84)到4269(NAD 83)重新投影
我在MSSQL DB中将针对州边界的美国人口普查数据存储为 SRID 4269。 用于对该数据集进行计算的输入数据存储为SRID 4326。 据我从SpatialReference.org推断,SRID 4269只是SRID 4326的一个子集,不需要坐标重新投影。 如果输入数据始终在SRID 4269的范围内,我是否真的需要从SRID 4326重新投影到SRID 4269?

1
R加强造成多边形撕裂
我在使用ggplot2绘制空间数据时遇到了一些麻烦。使用spplot绘制地图时,地图看起来不错,因此我假设撕裂发生在强化阶段。 代码如下: #install the packages library(rgdal) library(mapproj) library(raster) library(rgeos) library(ggplot2) library(plyr) if (!require(gpclib)) install.packages("gpclib", type="source") gpclibPermit() setwd("C:/Users/My Documents") #read in laa to regional mapping #must aggregate to higher level regions as data is provided at this higher level laa_region_mapping <- read.csv("laa_region.csv", header = TRUE) #read in LAA polygons laa_polygons <- …
10 r  ggplot2  rgeos 


1
如何使用ArcPy删除选定的行?
我想删除要素类中的所有行,但保留第1至5行。另一方面,我想保留前五行并删除其他行。我知道我必须使用搜索光标和更新光标,但是我不能使用它们。如何使用ArcPy删除行?
10 arcpy  cursor 


1
Python GDAL:ogr.open或driver.open?
我一直在使用GDAL和python来操纵shapefile。打开源文件时,我先将驱动程序设置为“ ESRI Shapefile”,然后使用所需的shapefile调用驱动程序的“ Open”方法。 我对此没有任何问题;但是我很好奇Driver实例方法“ Open”和ogr函数“ Open”之间的区别是什么。例如,两者之间有什么区别? driver = ogr.GetDriverByName("ESRI Shapefile") source = driver.Open(“O:\myshp.shp”,0) 和 source = ogr.Open(“O:\myshp.shp”,0) 在特定的场景中,您会使用一个场景吗?
10 python  gdal 

2
如何设置Cesium.Viewer居中的坐标?
在官方的CesiumJS教程中,有一个示例HelloWorld应用程序,其中显示了地图查看器。 当用户打开页面时,我希望地球仪在某个点上方并以一定的缩放比例居中: 我该如何实现? 我假设可以通过Cesium.Viewer构造函数参数进行配置(如下timeline所示),但未在reference中找到它们。 <body> <div id="cesiumContainer"></div> <script> var viewer = new Cesium.Viewer('cesiumContainer', { timeline: false, animation: false }); </script> </body> </html>
10 cesium 

4
如何在leaflet.js中更改图层顺序
我希望能够更改传单中图层的顺序。 我尝试实现两个传单插件以更改图层顺序。 首先,我尝试了leaflet-control-orderlayers,它似乎可以工作,但是不支持layerGroups,这是我的提起的bug。 接下来,我尝试了mapbbcode,它确实支持layerGroups,但是似乎不起作用或无法维护。 有人对如何实现此功能有任何建议吗?
10 leaflet 


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.