Questions tagged «python»

Python是许多GIS程序中使用的一种开源解释型编程语言。

2
自动将多个GPX文件批量加载到PostGIS中?
我有50多个GPX文件,我想“批量加载”到PostGIS数据库中。所有track_points数据都将被加载到“ track_points”表中(具有典型的GPS字段(例如经度,纬度,海拔,时间等),并且轨道数据将被加载到类似的,适当设计的“ tracks”线几何表中。 我希望自动执行此过程,这样当我获得下一个50岁以上时,就不必手动将数据输入数据库了。我个人更喜欢使用Python编写此类过程的脚本,但是欢迎提出任何建议。 我的总体思路是: 获取要处理的GPX文件列表(通过标准的Python工具非常容易) 遍历每个GPX文件,并将必要的数据提取/转换为PostGIS格式 使用psycopg Python库将GPS数据插入PostGIS 我想我可以管理步骤1和3,但是我想知道是否有一个相对简单的方法/库可以将数据(tracks和track_points)转换为PostGIS格式,或者只是可以插入已创建表格的表格形式。 我已经阅读了“ 是否有一个好的GPS轨迹分析库? ”,“ 如何建立GPS日志的地理数据库? ”和“ 如何使用python提取.gpx数据 ”,并且已经研究了GDAL / OGR和FWTools Python绑定,但不想重蹈覆辙,因为有人已经对此有了很好的方法。


2
如何为花园地块创建日照强度图?
我对创建一个栅格表面感兴趣,该栅格表面描述了一个小花园地块每单位面积的平均太阳强度。我想模型的输入如下: 地块面积-为简单起见,让我们假设花园地块是圆形的。 周围森林边缘的平均树高 各种太阳角下的太阳强度 随时间推移相对于花园地块的平均太阳角度。 我最终想在树木环绕的花园中显示植物生长的最佳位置。谁能指出我的解决方案?尽管我找不到任何参考资料,但我敢肯定有人已经这样做了。 编辑: 出于示例目的,所附图像显示了一个1英亩的花园地块,周围是针叶树的平均年龄。为了进一步简化此分析,假设我们只对6月至10月园艺季节的太阳天数和强度感兴趣。砍树不是一种选择!

2
如何实现二元Ripley的K函数?
随附的图像显示了一个森林间隙,赤松表示为圆圈,白松表示为十字架。我有兴趣确定两种松树之间是否存在正关联或负关联(即它们是否在同一地区生长)。我知道R spatstat套件中的Kcross和Kmulti。但是,由于我需要分析50个空白并且比R更熟悉python编程,因此我想找到一种使用ArcGIS和python的迭代方法。我也愿意接受R解决方案。 如何实现二元Ripley的K函数?

1
在QGIS中进行编辑时如何将选定的多部分要素转换为单部分要素?
有关如何使用QGIS将多部分要素图层转换为单部分要素的问题和答案分别是: 如何将一个多边形分解为多个多边形? 如何在QGIS中分割非连续要素? 但是我看到的所有解决方案都将创建一个全新的层,并将所有多部分的几何图形转换为单个几何图形。 因此,问题是,在编辑会话期间,如何能够将多部分要素选择性地转换为单部分要素,而无需创建新图层? 它与“合并所选要素”工具相反,类似于ArcGIS中的爆炸。 有没有插件可以这样做?如何使用python控制台完成此操作?


2
开源Python / PostGIS原型的最佳设计
我正在编写通过apache交付的数据密集型Web应用程序。我的问题是考虑到存在多个选项,如何最好地安排处理。 我可以使用OpenLayers / JQuery / Javascript,PostGIS / Postgresql(带有pgsql),python / psycopg2,php。 该数据库包含约300万行,原型当前运行如下: 用户在OpenLayers窗口上单击一个点 坐标作为AJAX请求发送到服务器上的python函数 目前,我的应用程序是无状态的 Python的psycopg2用于调用pgsql存储过程,并且将较大的WKT值集(和数据字段)返回给python模块 数据字段用于按以下方式对python中的WKT记录进行分类:所有WKT值均分为5组之一。实际修改了大约1%的WKT值。 WKT的五个集合/组被缓冲以创建五个不同的多边形。我目前在数据库中调用存储过程来执行此操作。反过来,这仅使用ST_BUFFER。(我已经考虑过使用Shapely,但由于在两种情况下都使用GEOS库,因此不确定会带来性能优势。) 最后,将5个WKT文本值包装在JSON字符串中,然后发送回OpenLayers以呈现为五层。 我发现瓶颈是初始空间搜索和最终缓冲阶段。 我想问题是: 有没有更好的方式安排东西?例如,是否所有数据处理都应在PostgreSQL中完成(例如,使用游标),这在维护和性能方面是否是一件好事?使用切片服务器来避免将较长的WKT字符串传递到Web客户端会更好吗?您将如何解决?

2
使用arcpy为x个邻居生成近表
我正在尝试为以下距离捕获3种场景: 换乘地铁站,具有2个或更多的相邻站。即,所讨论的站点连接2条或更多的主要路线,并具有2条或更多的相邻站点。 终点站地铁站,只有1个相邻站。这是行尾的车站。 嵌入式地铁站,其中有2个相邻站,两种方法之一。 我正在尝试计算一个可能称为“相邻站点之间的平均距离”的值 该arcpy.GenerateNearTable_analysis()可处理两种选择:距离最接近的特征,并且距离所有功能之间。 有没有人有解决这些情况的聪明方法?注意,在属性表的“ StationType”字段下,每个站都被指定为“交换”,“端子”或“内联”。 添加: 这是一些基于@whuber在评论中建议的伪代码。我还没有时间弄清楚这个问题,因此,如果有人想刺中它,您将获得复选标记!;) 我看了一下NetworkX库,它似乎可以按我的意愿工作。 给定图: A —― B ―― C ―― D | E 以及节点和链接: Nodes = ["A", "B", "C", "D", "E"] Links = [("A", "B"), ("B", "C"), ("C", "D"), ("B", "E")] def myFunction(node): identify the links that node belongs to count the …
9 python  arcpy  network 

1
使用Python按属性选择Arcmap
我希望下面选择(突出显示)与网格相交的“项目”层,然后从选定的“网格”中提取一条记录。我不需要保存该层。 注意:在Python控制台窗口的ArcMap中运行脚本。 import arcpy # Make a layer from the feature class arcpy.MakeFeatureLayer_management("project","project_lyr") # Then add a selection to the layer based on location to features in another feature class arcpy.SelectLayerByLocation_management("project_lyr","INTERSECT","Grid") 该代码运行并且没有给出错误,但是它没有选择(突出显示)任何功能。知道为什么吗?运行也真的很慢。 基本上我正在尝试这样做: 这几乎很快就可以运行,但是我想使用python来做同样的事情。我只需要选定要素表中的值,就不需要该层的副本。 解决方案的一部分可以是使用在存储器的工作区,其是 将数据写入内存工作区通常比写入其他格式快得多... 只是不确定如何实现内存中的工作区

1
使用python / gdal在X轴上翻转的栅格数据阵列输出?
我正在尝试使用python gdal库创建栅格,现在已经到了输出数据的地步,但是输出数据在原点的x轴上翻转了。我知道我一定在忽略某些东西,但是我无法弄清楚哪里出了问题。有任何想法吗? 创建栅格时,我设置了左上角的x / y值,该数组似乎从左上角开始索引,然后继续向下到右下角。在下面的代码中,我用行的值填充数组。 打印数组时,它看起来像这样: [[ 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. …
9 python  raster  gdal 


4
将Esri Geoservices REST用作Python Web框架的后端(Django?)
我想知道使用现有的Python网络框架(例如Django / GeoDjango)作为前端与Esri的Geoservices REST API一起工作是否可行?我设想开发一个数据库引擎,该引擎将JSON中的REST端点作为数据库“表”。Django Admin和Django Forms的设计非常好,我认为它们可以用作添加,更改和删除空间表和非空间表(尤其是具有关系的表)的出色接口。 编辑:随着我对此的更多思考,也许这与更改Django的源代码无关,而是设计Web应用程序来满足需求。模型提供对地图服务链接的存储,视图通过对REST端点的调用提供CRUD功能。

6
如何从大量shapefile生成缩略图图像?
我和一位同事最近发布了一个名为Mapoteca的开源项目,该项目是与GDAL / FWTools安装集成的一组Python脚本,允许对目录进行完整的遍历,以查找空间数据并提取范围,几何形状,元素数量,投影和用户将其写入csv文件。我们正在研究描述相关DBF文件的部分,并且我们想生成每个shapefile的缩略图,您知道一种使用Python生成jpeg或png缩略图的方法吗?
9 python  gdal  ogr  jpg 

4
ArcView 3.x Avenue位图(Tabs?)与ArcView 10 Python光标
注意:尽管这个问题有答案,但是对优化游标过程的其他提示将不胜感激。我将监视任何更新。 目前,我的老板(在Avenue工作)和我(在Python中工作)都试图解决同一问题。相反,我们都解决了这个问题,但是至少可以说,我们的解决方案的运行速度是不相干的。他的脚本在2个小时内所处理的内容最多可能达到6个。语法和逻辑实现方面的唯一真正区别在于3.x的位图和10.x的游标。我们两个: 1)存储表1中的值 。2)使用这些值查询表2中的一行 。3)存储表2中的值,作为新行插入表3中。 在这两个脚本中,这些过程都是在两个嵌套循环中完成的。在我开始探索代码优化的美好世界之前,将Avenue脚本性能与Python进行比较时,是否会发生这种情况?在操作时间方面,这并不是他的脚本第一次超过我的脚本,因此我想知道在为恐怖的脚本而钉死自己之前是否应该注意一些事情。 这是我的脚本,没有多余的地方: import arcpy import time import sys import os def recordfindcopy(inFile,query,outFile): findRecord = arcpy.SearchCursor(inFile,query) for record in findRecord: copyRecord = arcpy.InsertCursor(outData) # <--- D'oh! (See answer) field = record.FIELD copy = copyRecord.newRow() copy.FIELD = field copyRecord.insertRow(copy) StreetsFileList = [r"Path", r"Path"] for sfile in StreetsFileList: …

3
在其他Python脚本中使用一个Python脚本中的变量?
我想设置一个包含变量的python文件,该变量具有我所有数据源的位置。然后,我所有其他脚本都将使用它,然后随着数据源的更改,我只需要编辑一个文件。 我的Data_sources.py看起来像这样: BC_BEC = "Database Connections\\BC.sde\\FOREST_BC.BC_Eco\\BC.BC_BEC" BC_TFL = "Database Connections\\Forest_BC.sde\\BC.BC_Admin\\BC.TFL_Boundary" 等等... 如何获取所有其他脚本以加载或访问Data_sources.py中的这些变量?
9 python 

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.