用于python的terraserver模块

pyTerra的Python项目详细描述


pyterra是一个python模块,它允许您向微软的 TerraServer(http://msrmaps.com/)。有了它,你可以下载 (旧)美国几乎任何地理范围的地图图像。

TerraServer几乎覆盖了美国的两个 重要制图产品、地形图和数字正射 照片(有时称为DOQ或DOQQ)。你可以在这里找到更多关于DOQ的信息 (http://mapping.usgs.gov/www/ndop/)以及更多关于什么是地形图的信息 这里(http://mac.usgs.gov/mac/isb/pubs/booklets/symbols/)。TerraServer 已经很多年没有更新了,现在还有很多其他的图像 有消息来源,但是TerraServer是第一个全国性的 新闻报道。

所有方法都反映了terraservice api。请参阅wsdl文件 http://msrmaps.com/TerraService2.asmx?WSDL有关如何 打电话。

terraserver将图像存储为一个由瓷砖组成的金字塔。每块瓷砖总是200 像素为正方形,与实际地面分辨率无关。航拍照片是 提供1、2、4、8、16、32和64米分辨率。地形图是 除1米外,以上所有分辨率均可用。

获取一个区段的图像需要三个步骤:1。定义边界框 你想下载的区域。边界框是由上部定义的框 盒子的左点和左下点。重点可能在地理上 坐标(42.9332 deg N x-93.2112 deg W)或投影UTM坐标 (东距437679.183,北距4658340.891)2.向 TerraServer,返回位于边界框3内的所有分幅。 向TerraServer请求每个磁贴中的图像数据并将其粘贴 变成一个新的皮尔形象。

历史记录

这个版本0.9更新了pyterra的一些terraserver 过去几年发生的变化 跟上去。为了避免与 TerraServer USA商业产品,现在是基于四叉树的图像 缓存非常流行,terraserver的soap api看起来很奇怪。它 确实提供了一些独特的东西,比如元数据和一个可能 使其在其他上下文中有用。我用了pyterra作为avterra的基础, 这是用于获取TerraServer图像的ArcView 3.x扩展。我 怀疑pyterra缺乏维护意味着avterra处于混乱状态, 但有了这个更新,就有可能让它复活。

以前的版本是psf授权的,但是看起来 愚蠢的。0.9+现在是mit,许可文本包含在源版本中 应该是这样。

否则,将这个代码库引入现代性的努力主要是 虚荣,虽然我还有一两件东西可以用。看 在代码中,很难相信它已经快九岁了……

更改日志

0.9给pyterra带来了很多变化。首先,SOAPpy已在中删除 兑换suds。对于简单的任务来说,suds比soappy好得多,而且 像champ一样处理microsoft wsdl。泡沫运动简化了 内部相当多,应该更容易理解。

我还更新了setup.py,并基于distribute,使用 声明的PILsuds的依赖项。另外,单元测试 必须手动运行现在可以通过一个简单的python setup.py test 召唤。

最后,外部api以多种方式进行了更新。其中包括 返回datetime实例(如果合适),支持PNG, 等。我已经有好几年没听说过有人用过pyterra了,我怀疑 我所做的api更改将产生很大的影响。

用法

pyterra现在包含两个模块–apiimage。这些是以前的 terraimage.terraimage和pyterra.pyterra名称的混乱模块结构。

幕布RT示例

from pyTerra import image

class Object:
    pass

lg_ul = Object()
lg_ul.X = 433714.25
lg_ul.Y = 4661043.80
lg_ul.Zone = 15

lg_lr = Object()
lg_lr.X = 438603.35
lg_lr.Y = 4656591.96
lg_lr.Zone = 15

scale = 'Scale2m'
theme = 'Ortho'

img = image.TerraImage(ul, lr, scale, theme, lr.Zone, "/tmp")
t = img.download() # <-- PIL.Image instance you can do what you need with

请参阅pyTerra.image以获取获取获取平铺后如何获取图像的更多示例 信息。tests/目录还包含对 各种api方法和每个方法的预期输出。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java接口中的每个方法都是抽象的,但在抽象类中,我们也只能使用抽象方法   初始化Java中声明的、未初始化的变量会发生什么情况?   java BouncyCastle openPGP将字节[]数组加密为csv文件   在Java中将类A(和所有子类)映射到类B的实例的字典   RSA公钥编码,在Java和Android中,代码相同,结果不同   java在安卓中实现数字检测语音识别   java取消选择复选框   java如何在其他配置中重用Maven配置XML片段   java有没有一种有效的方法来检查HashMap是否包含映射到相同值的键?   spring处理程序调度失败;嵌套的例外是java。lang.NoClassDefFoundError:org/apache/http/client/HttpClient   带有ehcache的java多层缓存   java如何访问chromium(或任何其他浏览器)cookie   java通过将两个集合与spring data mongodb data中的条件合并来获取计数   安卓中R.java的语法错误