地理信息系统

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

5
加快OpenStreetMap PostGIS查询
我使用渗透模式将荷兰的OpenStreetMap数据加载到PostGIS数据库(PostgreSQL 8.3 / PostGIS 1.3.3)中。这意味着所有标签都存储在hstore字段中。除了渗透在几何字段上创建的GIST索引之外,我还在标签字段上创建了另一个GIST索引。 尝试同时使用空间约束和标签字段约束进行查询时,我发现它比我想要的要慢。这样的查询: SELECT n.geom,n.tags,n.tstamp,u.name FROM nodes AS n INNER JOIN users AS u ON n.user_id = u.id WHERE tags->'man_made'='surveillance' AND ST_Within(geom, ST_GeomFromText('POLYGON((4.0 52.0,5.0 52.0,5.0 53.0,4.0 53.0,4.0 52.0))',4326)); 需要22秒才能返回78条记录。 该表中有大约5300万条记录。 有没有办法大大加快这一步?我听说hstore在PostgreSQL 9中的实现明显更好,升级是否有帮助?

2
在Google地图上绘制白天和黑夜
我想在任意时间点在Google地图上绘制白天/黑夜。我熟悉生成地图图块;我只是在寻找一种算法来告诉我地球上的某个特定点当前处于白天还是黑夜,或者以其他方式将日/夜界面的曲线绘制到地图上。 我已经进行了一些搜索,但是可能我对这里的问题域甚至还不了解,无法知道要搜索的术语! 有任何想法吗?不一定是完美的-基本上,我正在将日出和日落照片的Flickr地理位置数据(及其“拍摄日期”时间戳)与现实进行比较,这是为了帮助我对其进行可视化。

4
用Python在栅格上对点数据进行双线性插值?
我有一个栅格,想要对它进行点插值。这是我的位置: from osgeo import gdal from numpy import array # Read raster source = gdal.Open('my_raster.tif') nx, ny = source.RasterXSize, source.RasterYSize gt = source.GetGeoTransform() band_array = source.GetRasterBand(1).ReadAsArray() # Close raster source = None # Compute mid-point grid spacings ax = array([gt[0] + ix*gt[1] + gt[1]/2.0 for ix in range(nx)]) ay = …

5
日本大地震的辐射模型在哪里?
这个问题的答案是社区的努力。编辑现有答案以改善此职位。它目前不接受新的答案或互动。 我对看到权威的模型结果感兴趣,该结果显示了日本的放射性污染物可能如何通过风和水循环。 该AGU博客指出这个坏榜样,但在略读网站所引用我没有看到任何其他型号。在NOAA的全球预报系统中,我没有提到辐射。有信誉的模型在哪里?
12 modelling 

1
在Virtualenv下运行ArcGIS 10.0
我正在研究一个Python程序包,该程序包混合了命令行工具和ArcToolbox工具。对于Python开发,使用VirtualEnv非常有用,尤其是在使用安装程序时。是否有一种方法可以让ArcMap或ArcCatalog识别Python中的当前VirtualEnv会话,以便在执行自定义工具时,它使用VirtualEnv Python路径和软件包,而不是c:\ Python26 \ ArcGIS10的默认Python路径和软件包。 .0?

3
如何创建“感兴趣区域”多边形蒙版?
我已经使用ArcGIS创建了GP工具,该工具可以根据选定的要素创建“关注区域”蒙版。有效地,它在孔是先前选择的特征的位置上创建了一个新的甜甜圈多边形图层。我可以在QGIS中复制此任务吗? 示例:对于特定的地图,我想突出显示州内的一个县,并用上面的灰色,半透明的多边形图层掩盖该州的其余部分以及县外的要素。从概念上讲,我会这样做。 用户加载州,县和河流图层 用户选择感兴趣的县 运行一个实用程序(如果存在),将所有未选择的要素导出到没有原始选择的多边形的甜甜圈shapefile中。如果该层掩码是仅QGIS可用的“内存中”层,那也很好,也许更好。 这种工具或功能是否已经存在于QGIS中,还是我必须将其编写为自定义功能? 这是我在ArcGIS中使用ModelBuilder进行的操作以及要寻找的结果,其中黄色层和河层在全州范围内(一直贯穿图像),而灰色层则透明且带有“甜甜圈孔”,允许明亮的黄色部分显示出来并吸引观众注意感兴趣的区域:
12 qgis  cartography 

1
了解OpenLayers文档
在openlayers文档中,我注意到“选项”多次用于显示构造函数采用参数。但是,在哪里可以获取有关此参数{object}的详细信息?如何知道构造函数接受的参数? 例如:在下面,我放置了OpenLayers.Filter.Spatial的构造函数文档。 我如何知道可以在{Object}中放入哪些属性?


2
在不丢失几何和拓扑信息的情况下平铺矢量数据
我试图找出一种方法,可以将基于矢量的地图细分为较小的块。我可以根据不同的策略(例如q-tree)平铺地图。但是,不可避免的是要切出一些跨块边界的折线和多边形。这样,我们将失去它们的几何和拓扑属性。 平铺的数据只能用于显示,而不能用于空间分析,因为它们已部分失去了几何和拓扑属性。您对细分矢量数据并保持其可用性进行空间分析有任何建议或经验吗?

4
使用ArcGIS Desktop查找X距离内的N个点的聚类?
我们尝试了两种聚类分析方法: 聚类和离群值 热点 ...但都不符合我们具有以下3个参数的规范: 一组点特征 群集中的N个点 要看的X距离带 例如“为我找到每个簇在50米内有10个点的点”或类似的东西。 ArcGIS 10具有我上面链接的两个工具,但似乎都不能解决群集零件中的N个点。 ArcGIS中的其他工具可以满足我们的要求吗?我所说的聚类分析称为一种特定的聚类类型吗? 我们在另一个应用程序中确实有此版本,但是我真的很想在ArcGIS中使用这些工具。

4
对于PostGIS数据库,什么是合适的全局/通用唯一标识符?
我已经读到,在Ogres作为PostgreSQL / PostGIS数据库中的主键是不好的做法,因为在某些情况下可以重置OID。听起来合乎逻辑,但是什么是合适的选择?我相信可以使用“ Universal Unique Identifer” UUID,但是随即出现的大文本和数字值太可怕了。 我的情况仅需更多背景知识。我用一个名为“ gid”的字段创建了所有空间表,这是该表的主键,并且仅对该表唯一。我现在遇到一个问题,因为我想将我的空间表(所有以“ gid”字段从1开始并递增)关联到一个包含相关信息的大表。显然,要使我的关系正常工作,我所有的空间特征都需要一个唯一的标识符,以将它们彼此区分开。 编辑根据彼得斯的评论添加了这张图片。彼得,这就是我的想法,这可能不是解决问题的最佳方法,甚至可能不是好的数据库设计。我对您的想法感兴趣。 有小费吗?

2
通过PostGIS的边界框选择
我在PostGIS数据库中有一个很大的数据集。我正在通过将数据加载为GeoJSON的Web界面查看它。太多的数据无法一次全部提供给客户端(价值10兆MB ...),所以我想在由窗口边缘形成的边界框内获得一个数据区域(下图中的虚线) )。获取点f和g的坐标很容易。 问题1:这是做事的好方法吗?我应该考虑将它们缓存为图块还是此方法可能足够有效? 问题2:如何仅检索此边界框中的数据? 问题3:如果形状与边界框的边缘重叠(例如下面的形状A),是否有一种简单的方法可以像在第二幅图像中一样查询它时对其进行裁剪?
12 postgis 

1
您如何使用GRASS的v.kernel?
我对如何使用GRASS的v.kernel感到困惑。 我的向量层约为250万点。我想使用v.kernel制作一个热图以显示浓度,因为我有可变实例,它们的点重叠,有时重叠很大。 我已经在GRASS中获得了此矢量层,并且显示得很好。 我已经尝试根据我在这里和其他论坛上看到的内容使用GRASS的v.kernel命令,除了输出仅是一个粉红色正方形的栅格外,我无法执行任何其他操作。 这是我正在使用的命令: v.kernel --verbose input=master_grass7 output=master_grass7a_heatmap stddeviation=.0001 我已经将标准差从1000000更改为.000001,并且没有任何效果。 我反复阅读了v.kernel文档,但并不太了解它的含义。至少,这些说明是基于深奥的概念,没有实际意义。我也检查了源代码,但我也不是很了解。是的,我可以阅读C。问题在于它取决于GRASS GIS中其他地方定义的许​​多内容。 我也做了很多Google搜索,但是找不到完整的指南。我所得到的只是v.kernel文档/手册页的零散副本,或者显然是让它正常工作的人。 我还检查了内核密度估计(KDE)的概念,即使这样,我也看不到如何使用v.kernel命令。该命令似乎是对KDE的特定解释;它的开关似乎与通用KDE概念不太吻合。 回到这里的主要问题:不熟悉GRASS产品开发的人如何使用v.kernel命令?有没有简单的语言翻译?

7
在Mac OS X上将GEOS,PROJ,GDAL / OGR安装到python virtualenv中
我正在尝试设置一个隔离的python virtualenv来在Mac OS X上的GIS项目上工作。听起来我需要从kyngchaos站点(这里http://www.kyngchaos.com/软件/框架,而不是easy_install将其安装到我的virtualenv中。准确吗? kyngchaos上可用的下载是pkg安装程序,而不仅仅是python模块的egg或bdist。因此,除了将文件复制到/Library/Framework/geos.framework文件夹之外,我不确定安装程序还会对环境做什么。 如何将特定版本的GEOS,PROJ,GDAL / OGR安装到新的python virtualenv中?感谢您在此问题上的帮助/建议。
12 gdal  ogr  osx 

1
R中的空间运算符?
如何在R中进行空间选择或过滤?我可以在PostGIS中使用(例如)执行此操作: SELECT * FROM mypoint, mypoly WHERE ST_Within(mypoint.geom, mypoly.geom); 同样,在大多数其他GIS软件中也是如此。所以我希望R中的内容看起来像: mypoint[within(mypoint, mypoly),] 但我在任何地方都找不到线索。我正在寻找一种使用PostGIS / GEOS / JTS / Shapely中常用的空间谓词术语(在内部,包含,相交,重叠,接触等; DWithin会很有价值)的东西。R是否存在此功能或库?如果不是,是否有相似之处? 注意:在R中,我将sp类用于我的对象(SpatialPointsDataFrame,等等)。

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.