地理信息系统

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

1
如何使用fortify()从shapefile创建过滤的R数据帧?
我正在建立ggplot威尔士行政区人口的总人口图。我已经从军械测量局下载了边界线数据,并提取了似乎正确的shapefile(community_ward_region.shp)。使用R,我已经读完shapefile。 require(maptools) shape <- readShapePoly(wards) str(shape) 这给了我这个有希望的输出: Formal class 'SpatialPolygonsDataFrame' [package "sp"] with 5 slots ..@ data :'data.frame': 1690 obs. of 4 variables: .. ..$ NAME : Factor w/ 1507 levels "Abbey Cwmhir",..: 969 90 111 200 441 477 1455 249 255 305 ... .. ..$ DESCRIPTIO: Factor w/ 4 …
11 shapefile  r 

3
与多边形相交时,Rgeos会删除关联的值
我正在尝试将两个SpatialPolygonsDataFrames相交,并得到一个SpatialPolygonsDataFrame作为结果。不幸的是,使用gIntersectionfrom函数rgeos(该函数可以快速地与多边形相交),我似乎无法检索到关联的数据框。考虑以下示例: > fracPoly <- gIntersection( toSingle, fromSingle ) > class(toSingle) [1] "SpatialPolygonsDataFrame" > class(fromSingle) [1] "SpatialPolygonsDataFrame" > class(fracPoly) [1] "SpatialPolygons" 我可以编写一个包装函数来处理的传递data.frames,但是正确完成所有检查将是一个小小的麻烦,在我希望有人可以确认没有更好的方法或将我指向另一个函数(或选项)之前,这会是一个小麻烦。为gIntersection),这将使我保留关联的data.frames。 更新资料 经过进一步的思考,这可能是的非常刻意的行为gIntersection。毕竟,您传递了两个SPDF中的data.frame吗?因此,我可能必须编写一个将两者合并的包装器。

1
OpenLayers通过外部复选框隐藏/显示图层
我正在将OpenLayers与mapserver一起使用,以显示很多栅格图像和可查询的wms图层。一切正常,可以在OpenLayers图层切换器中打开/关闭图层...但是现在我想通过外部复选框打开/关闭图层,我不知道该怎么做。 我对Java有点陌生-我唯一知道的是我必须将复选框层的值传递给OpenLayers函数。到现在为止,我尝试使用onClick事件调用函数 <input type="checkbox" name="ckeckbox_layer1" onClick="layervisibility(this.checked);"> 但是我不知道函数“ layervisibility”的外观如何,以便当我选中/取消选中复选框时,实际上放置在openlayers init()函数中的图层可以正确打开/关闭。
11 openlayers 

3
“倒置”标签的惯例是什么?
我具有要用于标签的线要素。这些线的方向正确(旋转)并定位,以便放置在其上的文本应具有良好的制图输出效果。 比较下面的两个图像及其标签。特别是单词“ Waverton”及其相对于“ Avenue”的方向。 左侧是所有标签引擎默认情况下似乎产生的内容。根据军械调查,右边就是它“应该”的样子。 所以我的主要问题是-哪个是正确的,为什么?这里的制图惯例是什么? 我之所以这样问,是因为在5个标签引擎之间分开:QGIS(有两个),MapInfo和ArcGIS(有两个),只有Maplex可以选择,允许用户坚持标签遵循线的方向。其他人都认为倒置文本是不希望的,并自动“更正”它。 (地图:©Crown版权和数据库权利2012。军械调查100019520。)


3
在QGIS的属性表中更改数据类型?
我有其中FIP(实际上是州FIPS和县FIPS合并)的县数据。我有导入为CSV的数据,标题为STCounty的FIPS数据相同。但是,shapefile FIPS被列为Real,而CSV以Integer形式出现,并且Join函数似乎不起作用。下拉框为灰色/空。 因此,更大的问题是如何更改表中的属性类型? 我试图在shapefile(县数据)中创建一个新列,并将其设置为整数,然后将FIPS * 1乘以,但是列中充满了“ NULL”。 我是QGIS的新手,并且在MapInfo方面有很多经验,因此联接概念对我而言并不陌生,只是QGIS中的语法。

4
使用ArcPy从点对坐标创建线?
我有一些点对坐标(起点和终点),必须将它们转换为线。到现在为止,我曾经在这两个坐标的追加pippo.Point(),一个pippo.CalculateGeometry()定义每个PIONT的几何形状,并pippo.append(defined geometry)找出一对点,然后PointsToLine获得我行。对于数百行而言,这是相当昂贵的时间。 有更短的方法吗? 例如,将每条线的起点和终点放置在单个表的不同字段中,然后直接导入线而无需传递点几何。

3
寻找现成的工具以在线显示实时职位
我们想证明在巴勒莫这样的大城市,骑自行车可能是最快的工具(同时也是最环保的工具)。我们将为4位用户提供4部智能手机,并且将有4种移动方式:骑自行车,乘公共交通工具,步行和乘车。我们想使用一些智能手机应用程序在网页中实时显示每个用户的路线。我知道我可以使用Google Latitude或Glympse之类的功能来跟踪实时用户位置,但是我不知道如何在一张地图中放置4条实时不同的路线。 我们的目标是促进自行车的使用,因为我们的空气和噪音污染严重,并且机动车交通使机动性成问题。我们将在没有任何经济预算的情况下自愿执行此操作,然后我们正在寻找一些简单的合并解决方案,该解决方案不会迫使我们进行数小时的开发。几乎准备好进行“生产”的东西。 你知道一些解决方案吗?



4
如何停止gdalwarp在日期线附近创建世界范围的输出?
我正在使用gdalwarp在日期线附近(即180°,又称antimeridian)操纵SRTM磁贴。SRTM磁贴与子午线的重叠非常小(1/2像素)。您可以使用gdalinfo查看此内容: gdalinfo S16W180.hgt Driver: SRTMHGT/SRTMHGT File Format Files: S16W180.hgt Size is 1201, 1201 [...] Lower Left (-180.0004167, -16.0004167) (180d 0' 1.50"W, 16d 0' 1.50"S) Upper Right (-178.9995833, -14.9995833) (178d59'58.50"W, 14d59'58.50"S) [...] 因此,源跨越了日期线很小的一部分。 这会导致gdalwarp出现问题,最终会产生巨大的全球性产出。 gdalwarp -t_srs "epsg:900913" S16W180.hgt test.tif gdalinfo test.tif Driver: GTiff/GeoTIFF Files: test.tif Size is 1703, 5 [...] Lower …
11 srtm  gdalwarp 

5
使用ArcGIS Desktop在边界内创建路径?
我希望根据观察到的位置创建鱼的移动路径。 由于我正在观察鱼类在河流和湖泊中的运动,因此简单地将这些点连接起来以形成一条折线是行不通的,因为许多路径都将越过陆地。我需要一些方法将移动路径限制在水域范围内。 我不是程序员,而是依靠Arc工具箱中的工具来执行操作。FAT中的一个新列,其中连续点之间的距离也将很有用。 我正在使用ArcMap 10。 有人对如何生成运动路径有建议吗? 有关数据的更多信息;大部分位置是从远程接收器收集的,这些接收器往往会产生大量观测结果(我的一个项目的检测数量超过300万并且还在增长,每个检测记录包括ID,日期时间,经纬度和经度)。如果一条鱼停留在接收器的检测范围内,则大约每两分钟检测一次,这会导致很多观测(点),因此,我的第一步是对这段时间内的经度和纬度求平均值(在这种情况下为1天) 。平均在湖泊栖息地的检测效果通常很好,但是在河流部分这样做会导致检测结果超出河流/湖泊边界。所以我要做的第一件事就是“捕捉” 到河流/湖泊边界的平均位置,然后我想创建一条限制在河流/湖泊边界内的移动路径,理想情况下,该路径应包括每个线段的距离。我的河流是折线,湖泊是多边形,但是如果需要,我可以将河流转换为多边形。另外,我可以使用原始的非平均数据,并且所有检测都将在边界内,尽管创建限制在边界内的运动路径仍然存在问题,但这会导致大量数据。 所附图像显示了两条不同鱼类的每日平均位置。

2
用栅格信息填充PostGIS数据库的优点/缺点是什么?
...而不是将栅格保留为本地存储的GEOTIFF? 我有一个大型项目,需要向基于OpenLayers的网络地图提供大约50,000个10mb GEOTIFF作为WMS。在任何给定时间仅显示1个WMS,因此性能不是问题。考虑此应用程序的MapServer和GeoServer。 我想知道存储此类数据的优点和缺点。当栅格数据更改更加困难时,将更新PostGIS数据库,而不是替换单个(或一系列)栅格文件。使用PostGIS,WMS的加载时间大大缩短了吗?
11 postgis  raster 


4
尽管FGDB表大小限制,但ArcGIS无法将所有记录从庞大的CSV文件导入文件地理数据库表
我在Windows 7 64位和4GB RAM上使用ArcGIS 10.0。 我有一些非常大的CSV格式表要导入到ArcGIS中,它们都有大约30个字段,每张表最多有500万条记录(有些记录是该表的两倍或更多),并且文件大小约为5 GB。我试图将它们中的每一个作为单独的表导入到文件地理数据库中,以便最终可以将它们链接到要素类,并根据它们的位置分析表中的结果。 问题在于,ArcGIS似乎只是在某个时候停止了导入记录。我正在使用“转换”>“到地理数据库”下的“表到表”工具,但是“复制行”工具有相同的问题。即使我只是将CSV文件直接添加到ArcGIS中,而没有尝试先将其转换为FGDB表,问题仍然存在。我的一张表有大约1100万条记录,而ArcGIS仅导入了大约1000万条记录。ArcGIS不会告诉我发生了任何错误,该工具会像没有发生任何错误一样完成。 我已经尝试过几次了,进入FGDB表的记录数量始终是相同的,并且似乎不是我所听说过的文件大小限制(不是2的平方或16)。ArcGIS能够导入另一条包含大约600万条记录的CSV,并且所有记录都已通过(尽管由于较大的表,我遇到了问题,但较小的表现在也有点可疑)。ESRI的网站在文件地理数据库中列出了以下大小限制,而我远远没有碰到任何一个: 文件地理数据库大小:无限制 表或要素类的大小:1 TB(默认),4 GB或256 TB(带关键字) 要素类和表的数量:2,147,483,647 要素类或表中的字段数:65,534 要素类或表中的行数:2,147,483,647 地理数据库名称长度:操作系统在文件夹中允许的字符数 要素类或表名称的长度:160个字符 字段名称长度:64个字符 文字栏位宽度:2,147,483,647 我真正需要做的就是添加几个字段,删除几个其他字段,并为新字段(一些现有字段的总和)生成值。我之所以使用ArcGIS,是因为我熟悉字段计算器,并且我知道(或直到现在才知道)它可以处理包含数百万条记录的表,而我使用的大多数其他桌面软件(MS Access / Excel) )在那么多的记录上令人窒息。因此,我愿意使用其他软件来操纵原始表,然后将结果表(更小)导出到ArcGIS。确实,我遇到了这个问题,而ArcGIS没有给我任何错误或警告甚至表明该问题正在发生,这一事实使我想尽可能地在ArcGIS之外处理这些数据。

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.