地理信息系统

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

2
将QGIS的多层保存到SpatiaLite数据库?
每次我将QGIS中的一个图层保存为一个空间对象时,它都会坚持创建一个新的数据库(如果您选择一个现有的数据库,则会询问您是取消还是替换)。 我想将项目的所有层打包到单个spacespaceite db中进行分发。 我认为我可以使用本机的sqlite工具来组合单个文件中的图层,但是不必这样做会很不错。
10 qgis  spatialite 

2
城市LIDAR的清洁块图案(从街道抬起的块)
我们距离市区有1米的LIDAR DEM。 可以从此链接下载一小部分: 此屏幕快照显示了带有灰色调色板的原始DEM(较暗的带是街道,灰色和白色的矩形是块): 这对应于圣多明哥市的一个地方,可以在以下Google屏幕快照中看到: 平均而言,大约“提升”块。距离街道2米,这是不正确的。我们想要一个干净的DEM来生成流网络和地形湿度指数(TWI)。使用提供的DEM(我们没有来自激光扫描仪的原始波段),水文网络似乎遵循矩形布局,而TWI导致出现块状图案。这些图片显示了结果: 这是流网络结果,产生r.watershed在Grass GIS: 这是TWI结果,由生成SAGA: 我们尝试了一些程序来解决此错误,但没有成功: 1)去噪工具。我们在中应用了r.denoise工具Grass GIS,但模块安装出现了一些问题。我们在Windows中使用外壳程序再次运行它,并收到了内存不足的消息。 2)过滤器。我们进行了不同类型的过滤器(低通,中值,平均值等),具有不同的窗口大小,并试图把重量在街头的方向(Grass GIS,SAGA,QGIS)。 3)地统计学。我们严格在街道上生成点云(尝试了1000和2000点),生成了方差图模型,然后运行了普通的krigging来填充块。变量图建模和普通克里金法是R使用不同的包在中完成的。我们得到了线性变异函数,因此我们不会依赖于克里金法结果。 4)其他工具。已安装的ALDPAT工具,但由于程序无法读取DEM而无法使其正常工作。 在所有情况下,排水网的效果都不好,因为我们无法避免矩形流网。同样,TWI仍然导致了积木模式。 特别是,使用OK插值结果,我们得到了影响网络结果的点状模式DEM。但是,块状图案的作用减弱了。 此外,我们还研究了这个问题和答案... 从DSM过滤掉檐篷和建筑物以裸露地面 ...将我们重定向到Whitebox Geospatial Analysis Tools,但无法将DEM转换为LAS format。另外,我们不确定Bare-Earth DEM tool它的有效性,因为它是为去除半透明物体而设计的,而不是错误地“抬起”块,这就是我们的情况。 我们仍然想生成高质量的DEM来进行水文分析,但不知道我们还能尝试什么。

1
Postgis数据库查询优化
我有一组DTED格式的栅格,可以使用raster2pgsql命令行工具将其加载到PostGIS数据库中。 每个栅格都简单地存储在一行中,并由rid和一个栅格格式的值来描述。 现在,我想创建一个数据库函数,该函数接受点的经度和纬度,并返回与该点相对应的像素值。 我的问题是,由于数据库在Odroid板上工作,因此需要花费很多时间(3-4秒)。 我知道我处理的数据集很大(栅格覆盖了整个英国地区),但是由于我对PostgreSQL和PostGIS不太熟悉,我怀疑它可以更快地完成。 到目前为止,这是我所做的: SELECT ST_Value(rast, ST_GeomFromText(CONCAT('POINT(', $1, ' ', $2, ')'), 4326)) FROM ( SELECT * FROM rasters WHERE rast && ST_GeomFromText(CONCAT('POINT(', $1, ' ', $2, ')'), 4326) ) x; $1和$2分别为long和lat。

1
如何根据高程测量点之间的距离?
我需要能够测量点之间的距离,但是该距离需要与高程的关系进行计算。这些要点是19世纪讲故事的人的住所以及他们的故事中提到的地方。因此,该距离必须是“步行距离”。即使实际笔直距离较短,沿着山谷的路径也可能比沿着山脉的路径短。随附的截图说明了我的想法。因此,在图像中,路径A和C将比路径B短。 这些点来自CSV文件,但是我也有带有高程数据的栅格图层。
10 qgis  distance 

1
使用GDAL和Python进行地理配准栅格?
我想使用python和对栅格进行地理配准GDAL。我当前的方法是调用gdal_translate和gdalwarp使用os.system地面控制点列表。我真的很想在本地进行此操作python。 这是我正在使用的当前过程: import os os.system('gdal_translate -of GTiff -gcp 1251.92 414.538 -7.9164e+06 5.21094e+06 -gcp 865.827 107.699 -7.91651e+06 5.21104e+06 "inraster.tif" "outraster1.tif"') os.system('gdalwarp -r bilinear -tps -co COMPRESS=NONE "outraster2.tif" "outraster3.tif"') 有一个以前的问题和答案在2012年里面写明了gdal_translate可以导入后进行访问gdal。我不确定是否已过时,或者是否错误,但是当我运行时,from osgeo import gdal我不认为这gdal.gdal_translate是一个选择。 我不知道它是否存在,但是如果我能以pythonic的方式翻译和重新投影栅格,我将不胜感激。例如: # translate gcp_points = [(1251.92, 414.538), (-7.9164e+06, 5.21094e+06)] gdal.gdal_translate(in_raster, gcp_points, out_raster1) # warp gdal.gdalwarp(out_raster1, out_raster2, 'bilinear', args*) 这样的方法可行吗?

3
在ArcGIS Collector App中管理多个用户的内容?
我有数百人在收集数据。每个用户都有一个ArcGIS Online登录名。我希望能够根据已登录的用户过滤在ArcGIS Collector App中可见的内容,但不希望为每个用户拥有不同的Web地图而带来的维护负担。我的要素服务中有一个字段,指示哪个用户应该看到数据。 关于如何实现这一目标的任何建议?

5
使用ArcGIS Desktop从一个Shapefile中计数重叠的多边形?
我有一个具有16,400个多边形的shapefile。每个多边形表示整个世界鸟类的扩展。 现在,我必须计算重叠的多边形。我用并集进行了尝试并溶解(计算了并集),但是并集不适用于那么多的多边形。 然后,我尝试裁剪大洲,但是由于多边形数量巨大,这也无法正常工作。而且我尝试了这种方法,也没有成功。 因此,我问你,如果一个shapefile中有16400个多边形,有没有一种方法可以计算重叠的多边形? 我正在使用10.0,可以使用10.2。ArcPy解决方案也很棒。 目前,我正在考虑创建一个渔网,并用16400个多边形遍历shp的行,如果多边形位于该单元格中,则将1写入渔网单元的value字段,然后取下一行(多边形),然后如果也是在渔网单元中,则为+1。 但是我不知道这是否是一个好的解决方案以及如何实现它。或者我必须学习R才能使用这种方法。 结果:应该是一个形状,在其中重叠的多边形中有新的多边形,在其中计算重叠的字段。 因此,最后应该有一个shapefile,您可以在其中查看在同一位置发现了多少种鸟类。

2
使用datetime.date.today()中的今天的日期计算Date字段?
我正在使用arcpy.CalculateField_management将当前日期添加到属性表的工具的一部分。我在互联网上徘徊了很多,似乎找不到解决此问题的方法。 使用此代码时,我得到的值是“ 12:00:00 AM” input = r'C:\GIS\CARGIS\SHAPES.gdb\CRASH_ON_2013' today = datetime.date.today() dte = today.strftime('%m/%d/%Y') arcpy.CalculateField_management(input,"DTCARXTRCT",dte,"PYTHON") 使用此代码时,我从今天的“ 10/07/2014”获取值“ 06/19/1905” input = r'C:\GIS\CARGIS\SHAPES.gdb\CRASH_ON_2013' today = datetime.date.today() dte = str(today) arcpy.CalculateField_management(input,"DTCARXTRCT",dte,"PYTHON") 对我在做什么错有任何想法吗?我想避免使用更新游标,但是如果这是最后一个选择,那么会这样做。

1
如何通过Leaflet在GeoJSON图层上添加归因?
我需要在传单地图上使用GeoJSON图层。这是我的代码示例: function onEachFeature(feature, layer) { if (feature.properties && feature.properties.popupContent) { layer.bindPopup(feature.properties.popupContent); } } myGeoJsonLayer = L.geoJson(data, { pointToLayer: function (feature, latlng) { return L.circleMarker(latlng, geojsonMarkerOptions); }, onEachFeature: onEachFeature }); myGeoJsonLayer.addTo(map); TOC.addOverlay(myGeoJsonLayer, "My GeoJSON Layer"); 一切正常。 现在,我想在图层上添加归因,但如何?

1
在Python脚本工具的参数中设置下拉列表?
我正在尝试从我编写的python脚本创建一个工具,该工具将使用我创建的列表,并将其用作完成的工具中的下拉菜单,作为输入之一(例如,请参见随附的图片): 我正在使用的列表是一个很大的列表,其中包括佛蒙特州的所有城镇,我从表格中的脚本中生成它(请参见下面的代码)。我怀疑目前我的问题只是设置工具“属性”以获取此列表并使用它为用户创建一个下拉列表。这是创建用于参数的列表的代码块-有人看到该工具的此代码结束有任何问题吗? import arcpy arcpy.env.workspace = "Z:\\OPS\\TechnicalServices\\Culverts\\GetCulverts\\GetCulverts.gdb" towns = "Database Connections\\GDB_GEN.sde\\GDB_Gen.VTRANS_ADMIN.townindex" arcpy.MakeFeatureLayer_management(towns,"towns_lyr") NameList = [] NameListArray = set() rows = arcpy.SearchCursor("towns_lyr") for row in rows: value = row.getValue("TOWNNAME") if value not in NameListArray: NameList.append(value) town = NameList town = arcpy.GetParameterAsText(0) 这也是工具属性的图像,带有默认的验证代码-我需要更改此验证代码吗? 我寻找了有关更改此验证码的信息,但找不到有关将其用于格式化下拉列表的信息。


3
如何使用QGIS从点数据创建轮廓线?
我正在使用QGIS 2.4.0,并且我有一个带有高程数据以及X和Y坐标的点的shapefile。我正在使用Windows 7 OS。 想法是使用我的点数据创建轮廓线SHP。 我的问题是:我如何开始处理该问题?有功能吗?是否有逐步的过程?
10 qgis  dem  elevation  contour 


2
QGIS字段计算器中的列标题使用通配符?
我知道您可以在字段计算器中使用通配符(在字段计算器中): case when "column" ILIKE '%example%' then 1 else 0 end 您可以为列标题本身做类似的事情吗? 我之所以这样问,是因为我要联接多个图层(使用Joins属性),这将使我更容易编辑一组过滤器,而不是编辑多个过滤器,因为列名必须包含联接的图层名称。 我正在使用QGIS 2.2。

3
一年中给定地址的邮政编码平均更改频率
这是一个很难准确回答的问题,但是有人能为我估计一个给定地址的邮政编码在一年中发生变化的可能性在一个数量级之内吗? 例如,您能否说这种情况的可能性是: a)〜10% b)〜1% c)〜.1% d)〜.01% 只是想对我正在编写的某些代码大致了解这些事物的稳定性。如果答案是〜10%,我的处理方式将与〜.01%截然不同。

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.