地理信息系统

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


1
打印地图中的比例(MXD)与手动打印的代码不同
这个问题与我之前问过的问题部分相关。 我尝试使用ESRI发布的“ 打印Active View”代码来打印 A3 mxd,并且只更改了一行代码,即将其更改为A3大小。 docPaper.FormID = 8; 这将其强制设置为A3大小,而不是默认的0 Letter大小(esriPageFormLetter)。 该地图打印出了很好的效果,但未按比例绘制,即该地图假定为1:10000,但是网格之间的间距为9.7厘米,而不是应该的10厘米。 如果我打印出完全相同的mxd,但是通过手动方法(即在ArcMap本身中),则选择文件->打印。秤是正确的,尺寸为10厘米。 重要的是要注意,我没有更改两次打印之间的任何页面和打印设置设置。 为什么要这样做? 请参阅下面的图片,以帮助了解发生了什么。 http://img819.imageshack.us/img819/1959/scalemapcomparison.jpg

2
Huff模型的开源GIS实现
这可能很费力,但是我想知道是否有人为零售市场分析实现了重力建模工具或脚本(例如霍夫模型)来分析空间数据以了解客户与商店之间的关系? 有两个ESRI资料来源(包括Business Analyst扩展),但对于开源世界,我还没有见过。似乎可以真正利用PostGIS的数据库质量。 /programming/2837870/huff-model-in-gis http://arcscripts.esri.com/details.asp?dbid=15999 参考文档(已过时,但相关文章解释了此概念): 使用霍夫模型进行零售贸易区域分析 Arc10帮助:销售潜力建模 在ArcGIS Business Analyst中校准Huff模型白皮书 ICSC文章

3
租金价格建模-使用哪种插值方法?
我有约140万个家庭的全国数据集。那里我有关于租金,面积(房间数和平方米)以及每个家庭的一些其他特征的信息。 我想使用此数据来创建整个国家的租金价格表,并使用此信息作为对拥有或没有租金信息的剩余约150万个家庭的价值估算的代理。 这里有几个问题: 这样的方法是否完全适合这种问题? 哪种插值方法最适合在此使用? 另外,是否可以考虑有关家庭规模的信息? 我使用的是ArcInfo许可的ArcGIS 9.3。

5
使用ArcPy脚本删除要素图层?
我有一个基于ArcPy的脚本,在该脚本中,我试图将两层相交,其中一层必须在另一层中具有其质心。 由于我需要知道一层(下面的feature_layer)包括另一层的质心,因此我使用了arcpy.SelectLayerByLocation_management()工具。 我没有打开地图文档(* .mxd),因此要执行此操作,必须使用“生成要素图层”将其输入。 文档指出,功能层将在程序退出时消失,但是我需要尽快将其消失,因为我将其置于类似于下面的循环中 for feature_class in large_list_of_feature_classes: some_function(feature_class) def some_function(): feature = "{path to feature class}" feature_layer = "feature_layer" HUCs_layer = "all_HUCs" #HUCs being Hydrologic Unit Codes arcpy.MakeFeatureLayer_management(feature, feature_layer) arcpy.MakeFeatureLayer_management(feature, HUCs_layer) arcpy.SelectLayerByLocation_management(HUCs_layer, "HAVE_THEIR_CENTER_IN", feature_layer, selection_type="NEW_SELECTION") arcpy.CopyFeatures_management(HUCs_layer, selection_name) 我正在寻找一种功能来删除要素图层,但我一直找不到。 我意识到我可以在其中添加某种计数,或者在程序范围内添加一些使每个数字唯一的方法,但这不是理想的方法,除非无法删除要素图层。

3
在MySQL中使用空间索引时性能不佳
重新建议在Stack Overflow上提出的一个问题,这是一个更好的论坛。 我正在尝试进行一些实验,以推动不是地理空间但非常适合的数据集,并且发现结果有些令人不安。数据集是基因组数据,例如人类基因组,其中我们有一个DNA区域,其中诸如基因之类的元素占据特定的起始和终止坐标(我们的X轴)。我们有多个占据Y轴的DNA(染色体)区域。目标是带回沿单个Y坐标与两个X坐标相交的所有项目,例如LineString(START 1,END 2)。 该理论听起来很合理,所以我将其推入了现有的基于MySQL的基因组项目中,并提出了一个表结构,如下所示: CREATE TABLE `spatial_feature` ( `spatial_feature_id` int(10) unsigned NOT NULL AUTO_INCREMENT, `external_id` int(10) unsigned NOT NULL, `external_type` int(3) unsigned NOT NULL, `location` geometry NOT NULL, PRIMARY KEY (`spatial_feature_id`), SPATIAL KEY `sf_location_idx` (`location`) ) ENGINE=MyISAM; external_id表示我们已编码到该表中的实体的标识符并对其进行编码external_type。一切看起来都很不错,我输入了一些初步的数据(30,000行),这些数据似乎运行良好。当它增加到超过300万行标记时,MySQL拒绝使用空间索引,并且在强制使用空间索引时速度较慢(40秒与使用全表扫描的5秒相比)。当添加更多数据时,该索引开始使用,但性能损失仍然存在。强制关闭索引可使查询降低到8秒。我正在使用的查询看起来像: select count(*) from spatial_feature where MBRIntersects(GeomFromText('LineString(7420023 1, 7420023 1)'), location); …

3
将shapefile数据集中到数据库中
我已经从各种不同的GIS项目中获得了数百个shapefile,我希望开始将它们合并到一个数据库平台中,目前正在使用Postgres / PostGIS进行尝试。 几乎没有任何数据是标准化的-这意味着它是许多相同的数据类型,但是特定的属性名称/类型不匹配。 我应该从哪里开始解决这个问题?我是否应该开发一个标准模型将每个shapefile迁移到第一个模型(例如Hydro_line,transport_line,Hydro_poly标准等)? 一种替代方法是仅将每个shapefile分别导入Postgres,因此每个shp都将成为数据库中的表,但是就性能和组织而言,我不确定。感觉有点像延迟不可避免的事情... 对处理这个艰巨的任务有什么建议吗?

1
在ArcGIS地理处理结果窗口中向用户显示引发的错误消息?
是否可以在“地理处理结果”窗口中显示从自定义例外引发的打印语句? 我修改了一个脚本,发现该脚本从用户处获取两个输入,找到关联的功能,然后缩放到该功能。该工具工作正常。我试图通过自动格式化输入以使其具有正确数量的字符来使其更加用户友好。我添加了一个消息框,告知用户输入框中是否有太多字符,但是我使用easygui创建了该消息框(用于GUI的Python库)。相反,我想使用gp结果窗口显示消息。我以为我正确设置了raise和except语句的格式,但是该工具运行并且得到完整的结果,而不是错误消息。我尝试了esri的arcpy帮助,但没有得到我想要的结果。 class BadInputError(Exception): pass # Import arcpy module import arcpy, sys, string from arcpy import env try: def checkInput(inp): mNCount = len(inp) trigger = 0 while trigger == 0: if mNCount == 4: trigger = 1 elif mNCount > 4: inp = '' trigger = -1 raise BadInputError elif …

3
AutoCAD Map的免费替代品
我想知道是否有与AutoCAD Map中的功能大致相关的免费(用于商业用途)软件包。具体来说,我正在寻找的是: 基于命令行。 打开.dwg以及可能的.dgn文件。 可以生成用于栅格地理配准的世界文件。 可选:Civil 3d功能,例如对齐和轮廓生成。

4
如何创建空间标签云或“标签图”?
我正在寻找空间标签云或“标签地图”的实现。我发现一些论文谈论Yahoo Tag Maps API,但找不到任何此类东西。 我更喜欢基于OpenLayers的解决方案,但其他解决方案也会很有趣。 编辑:示例图像可以在http://www.soi.city.ac.uk/~sbbb717/go2/iv_figs/中找到,例如:


4
如何开始GIS编程职业?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 我已经在英国担任GIS顾问。作为工程咨询公司(不是基于IT或GIS的公司),组织中不需要进行GIS开发。 但是由于最近的一些项目要求,我公司试图将我们推广到GIS开发。 所以我的问题是,我应该如何发展我的职业,例如:Python-C#-.Net 或Java? 我在印度呆了3周之久,因此有机会参加一些基本的编程课程,将为您提供更快速的建议。最近的一次访问是对本地计算机研究所C#和.Net的访问。

4
对于包含GIS数据的文件和文件夹,什么是良好的分类法或命名约定?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 2年前关闭。 在过去的8年中,我的公司收集了大约30 TB的GIS数据,我总是发问以下问题: 对于给定的地理区域,我们拥有什么类型的数据? 关于该数据的详细信息是什么(例如,以米/像素为单位的分辨率)? 数据在硬盘驱动器上的什么位置可以实际使用? 我们是否已经处理过数据,还是源中未更改的形式? 到目前为止(包括现在),我试图通过设计适当的文件夹和文件分类法/层次结构来解决这些问题。是否有人对使用文件和文件夹来组织GIS数据的一些可理解的,甚至是标准的方法有任何想法/建议? 我也愿意学习更多有关使用数据库如何使我的公司受益的信息;我们是软件开发人员,而不是GIS专家,因此我怀疑我们在如何最好地解决为方便使用而存储/组织GIS数据的问题上还处于落后状态。我确实看到了管理地理空间数据的最佳做法问题,但是由于我对地理数据库非常陌生,因此只能从答案中吸取少量使用。 更新:最近一周,我花了很多时间阅读有关GIS数据库的信息,并开始熟悉PostGIS。从长远来看,我认为我们将最终转向使用JasonBirch在“管理地理空间数据的最佳做法”中建议的数据库加元数据服务器。

4
寻找一种Python方式来计算WKT线串的长度
我对以WGS84为单位计算线串长度并不满意。它让我想知道是否存在一种更方便的Python方式根据给定的SRID计算WKT线串的长度。 我想到的是: srid="WGS84" line="LINESTRING(3.0 4.0, 3.1 4.1)" print length(line, srid) 我正在寻找一个准确的答案,而不是sin\cos近似值。 有任何想法吗?
13 python  wkt  wgs84  srid  length 


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.