Python3.5生成无线电信号覆盖率报告的工具,主要用于新西兰

wavetrace的Python项目详细描述


第3, 19版2007年11月
版权所有2007免费软件基金会,公司http://fsf.org//gt;每个人都允许复制和分发该许可文件的逐字副本,但不允许更改。ree,软件和其他类型作品的版权许可证,专门设计用于确保在网络服务器软件的情况下与社区合作。


大多数软件和其他实际作品的许可证旨在剥夺您共享和更改作品的自由。相比之下,我们的通用公共许可证旨在保证您共享和更改程序的所有版本的自由,以确保它对所有用户都是自由软件。

当我们谈到自由软件时,我们指的是自由,而不是价格。我们的通用公共许可证旨在确保您有权分发免费软件的副本(如果您愿意,可以为其收费),您可以接收源代码或获得源代码(如果您需要),您可以更改软件或在新的免费程序中使用其中的一部分,并且您知道你可以做到这些。

保护所有用户自由的合适之处在于,如果程序的其他版本得到广泛使用,则可以对其进行改进,以供其他开发人员合并。许多自由软件的开发者对由此产生的合作感到鼓舞和鼓舞。然而,在网络服务器上使用软件的情况下,这个结果可能无法实现。GNU通用公共许可证允许修改版本并允许公众在服务器上访问它,而无需向公众发布源代码。

GNU Affero通用公共许可证是专门为确保在这种情况下,修改后的源代码成为可供社区使用。它要求网络服务器的操作员向该服务器的用户提供运行在该服务器上的修改版本的源代码。因此,在可公开访问的服务器上公开使用修改过的版本,可以让公众访问修改过的版本的源代码。

这是另一个许可证,不是Affero GPL的版本,但Affero发布了新版本的Affero GPL,允许在此许可证下重新授权。

定义。

"本许可证"是指GNU Affero通用公共许可证的第3版。

"版权"也指适用于其他类型作品(如半导体掩模)的类似版权的法律。

"程序"是指根据本许可证许可的任何可受版权保护的作品。。每个被许可人的地址均为"您"。"被许可人"和"接收人"可以是个人或组织。

由此产生的作品被称为早期作品的"修改版本"或基于"早期作品"的作品。


"涵盖作品"是指未经修改的程序或基于该程序的作品。

根据适用的版权法,您对侵权负有直接或间接责任,但在计算机上执行或修改私人副本除外。传播包括复制、分发(带或不带修改),使pu可用blic,在一些国家还有其他活动。

"传达"作品是指使其他方能够制作或接收副本的任何形式的传播。仅仅通过计算机网络与用户进行交互,而不传送副本,是不能传达的。

otice,和(2)告诉用户,该作品不存在任何保证(提供保证的情况除外),被许可方可以根据本许可证转让作品,以及如何查看本许可证的副本。如果界面显示用户命令或选项列表(如菜单),则列表中的突出项符合此标准。
1。源代码。

作品的"源代码"是指对作品进行修改的首选形式。"目标代码"是指作品的任何非源代码形式。

用这种语言工作。

一个主要组件,或实现一个标准接口,其实现以源代码的形式对公众可用。在本文中,"主要组件"是指运行可执行工作的特定操作系统(如果有)的主要基本组件(内核、窗口系统等),或用于生成工作的编译器,或用于运行工作的目标代码解释器。"源"对于目标代码形式的工作意味着生成、安装和(对于可执行的工作)运行目标代码和修改工作所需的所有源代码,包括控制这些活动的脚本。但是,它不包括工作的系统库、通用工具或通常可用的免费程序,这些程序在执行这些活动时未经修改,但不是工作的一部分。例如,对应的源包括与工作的源文件相关联的接口定义文件,以及工作特别设计所需的共享库和动态链接子程序的源代码,例如即使是那些子程序和工作的其他部分。

基本许可。

根据本许可证授予的所有权利都是在程序的版权期限内授予的,并且在满足所述条件的情况下是不可撤销的。此许可证明确确认您对运行未修改程序的无限权限。只有在给定内容的输出构成涵盖的工作时,本许可证才涵盖运行涵盖的工作的输出。本许可证承认您的合理使用权或版权法规定的其他同等权利。

您可以将受保护的作品转让给其他人,其唯一目的是让他们专门为您进行修改,或为您提供运行这些作品的设施,但您必须遵守本许可证的条款,以转让您不控制版权的所有材料。因此,为您制作或运行覆盖工程的人必须这样做,不包括以您的名义,在您的指导和控制下,以禁止他们在与您的关系之外复制您的受版权保护的材料的条款为准。

在任何其他情况下,仅在下列条件下才允许传送。不允许再授权;第10节使其不必要。
3.保护用户的合法权利不受反规避法的侵害。

限制对此类措施的规避。

当您转让涵盖的作品时,您放弃任何法律权力,禁止规避技术措施,只要此类规避是通过行使本许可证项下与涵盖的作品有关的权利而实现的,并且您否认任何意图限制对作品的操作或修改,以此对作品的用户实施您或第三方禁止规避技术措施的法律权利。
4传送逐字复制。

根据第7节添加的许可条款适用于本规范;保持所有无担保通知的完整性;并将本许可证的副本连同程序一起提供给所有接收者。

免费提供担保。
5.传送修改过的源代码版本。

根据第4节的条款,您可以以源代码的形式传送基于程序的作品,或从程序生成作品的修改,但您也必须满足所有这些条件:

a)作品必须带有突出的n说明您修改了它并给出了相关日期的通知。
b)该作品必须带有明显的通知,说明它是根据本许可证发布的,以及根据第7节添加的任何条件。此要求修改了第4节中的要求,即"保持所有通知完好无损"。
c)您必须将本许可下的整个工作作为一个整体授权给任何拥有副本的人。因此,本许可证将与任何适用的第7节附加条款一起适用于整个工程及其所有部分,无论它们是如何包装的。此许可证不允许以任何其他方式对作品进行许可,但如果您单独收到此许可证,则不会使此许可无效。
d)如果作品具有交互式用户界面,则每个用户都必须显示相应的法律声明;但是,如果程序具有交互式界面不显示适当的法律声明的,您的作品不必这样做。

在存储或分发介质的卷内或卷上,如果编辑及其产生的版权未被用于限制编辑用户的访问或合法权利,超出单个作品允许的范围,则称为"聚合"。将涵盖的工作包含在一个集合中不会导致本许可证适用于该集合的其他部分。
6.传输非源代码格式。

您可以根据第4节和第5节的条款以目标代码格式传输涵盖的作品,但前提是您也可以根据本许可条款以以下方式之一传输机器可读的对应源代码:

a)以或em形式传输目标代码一种物理产品(包括物理分布介质与固定在通常用于软件交换的持久物理介质上的相应源一起。
b)将目标代码传送到物理产品(包括物理分发介质)中或体现在物理产品(包括物理分发介质)中,并附带一份有效期至少为三年的书面报价。ARS和有效期,只要您为该产品模型提供备件或客户支持,向拥有目标代码的任何人提供(1)本许可证涵盖的产品中所有软件的对应源的副本,在通常使用的持久物理介质上d对于软件交换,价格不超过您实际执行此源代码传输的合理成本,或(2)免费从网络服务器复制相应源代码的访问。
c)将目标代码的单独副本和书面报价的副本传送给提供相应的来源。只有偶尔和非商业的情况下才允许使用此替代方案,并且只有在您收到带有此报价的目标代码时,根据第6B小节的规定。
d)通过提供指定地点的访问权限(免费或收费)来传递目标代码,并提供与COR同等的访问权限。响应源以同样的方式通过同一地点,不再收费。您无需要求收件人复制相应的源代码和目标代码。如果复制目标代码的地方是网络服务器,则相应的源可能位于支持等效复制工具的不同服务器(由您或第三方操作),前提是您在目标代码旁边保持明确的指示,说明在何处找到相应的源代码。e.无论哪台服务器承载相应的源,您仍有义务确保它在满足这些要求所需的时间内可用。
e)使用对等传输传送目标代码,前提是您通知其他对等方目标代码和对应的根据第6d小节,将向公众免费提供作品的发端源。

"ER产品"是指(1)"消费产品",指通常用于个人、家庭或家庭目的的任何有形个人财产,或(2)为并入住宅而设计或出售的任何物品。在确定产品是否为消费品时,应解决有利于保险的可疑情况。对于特定用户收到的特定产品,"通常使用"是指该类产品的典型或常见用途,而不论特定用户的状态或特定用户实际使用、预期使用或预期使用该产品的方式如何。产品是消费品,无论产品是否具有实质性的商业、工业或非消费用途,除非此类用途代表产品的唯一重要使用方式。

"安装信息"对于用户产品是指任何经授权离子键,或从相应源的修改版本安装和执行该用户产品中所涵盖工作的修改版本所需的其他信息。这些信息必须足以确保修改后的目标代码在任何情况下都不会仅仅因为进行了修改而被阻止或干扰。

CT,并且转让是作为交易的一部分发生的,在该交易中,用户产品的占有权和使用权被永久地或在固定期限内转让给接收者(无论交易的特征如何),根据本节转让的相应来源必须是密谋的根据安装信息。但是,如果您或任何第三方都没有保留在用户产品上安装修改过的目标代码的能力(例如,工作已安装在rom中),则此要求不适用。

提供安装信息的要求不包括继续安装的要求。o为收件人已修改或安装的工作或已修改或安装的用户产品提供支持服务、保证或更新。当修改本身对网络的运行产生实质性的不利影响,或违反了网络通信的规则和协议时,可以拒绝对网络的访问。

节必须采用公开记录的格式(并以源代码形式向公众提供实现),并且在解包、读取或复制时不需要特殊的密码或密钥。
7。附加条款。

"附加许可"是通过对本许可的一个或多个条件进行例外来补充本许可条款的条款。适用于整个程序的附加许可应视为包含在本许可中,只要它们根据适用法律有效。如果附加许可仅适用于程序的一部分,则该部分可在这些许可下单独使用,但整个程序仍受此许可的管辖,而不考虑附加许可。

当您传送覆盖作品的副本时,您可以选择删除从该副本或其任何部分获得任何其他权限。(在某些情况下,当您修改作品时,可能会写入附加许可,要求删除它们。)您可以对您添加到所涵盖作品中的、您拥有或可以给予适当版权许可的材料设置附加许可。

在本许可证中,对于您添加到所涵盖的作品中的材料,您可以(如果该材料的版权所有者授权)用以下条款补充本许可证的条款:

a)放弃担保或限制责任,与本许可证第15节和第16节的条款不同e;或
b)要求在该材料或包含该材料的作品所展示的适当法律公告中保留指定的合理法律公告或作者归属;或
c)禁止对该材料的来源作虚假陈述,或要求修改版本以不同于原始版本的合理方式标记这些材料;或
d)限制将材料的许可方或作者的名称用于宣传目的;或
e)拒绝根据商标法授予使用某些商品名、商标或服务的权利。ICE标志;或
f)要求任何将材料(或其修改版本)以合同规定的对接收者的责任进行转让的人对材料的许可方和作者进行赔偿,赔偿这些合同规定的对这些许可方直接施加的任何责任。所有其他不允许的附加条款均被视为第10节含义内的"进一步限制"。如果您收到的程序或其中的任何部分包含一个声明,说明它受本许可证的管辖,以及一个进一步限制的条款,则您可以删除该条款。如果许可证文件包含进一步的限制,但允许在本许可证下重新许可或传送,则您可以添加到受该许可证文件条款管辖的涵盖工作材料中,前提是进一步的限制在重新许可或传送之后不存在。

根据本节的规定,在涉及的工作中添加术语时,必须在相关的源文件中放置一个additiona语句l适用于这些文件的条款,或指明在何处找到适用条款的通知。

终止。

除非本许可证明确规定,否则您不得传播或修改涵盖的作品。以其他方式传播或修改本许可的任何尝试都是无效的,并将自动终止您在本许可下的权利(包括根据第11节第3段授予的任何专利许可)。

但是,如果您停止所有违反本许可的行为,则您的特定许可(a)暂时恢复版权所有人,除非版权所有人明确并最终终止您的许可;以及(b)如果版权所有人未能在终止后60天内以合理的方式通知您违规行为,则永久恢复版权所有人。,如果版权所有者以某种合理的方式通知您违反了本许可,则您从特定版权所有者处获得的许可将永久恢复,这是您第一次从该版权所有者处收到违反本许可的通知(对于任何作品),并且您纠正了违反者。在您收到通知后30天内。

如果您的权利已被终止且未永久恢复,则根据第10节,您没有资格获得相同材料的新许可证。
9。拥有副本不需要接受。

接收或运行程序副本不需要接受此许可证。仅由于使用点对点传输来接收副本而发生的覆盖工作的辅助传播同样不需要接受。但是,除了此许可证之外,没有任何其他许可授予您传播或修改任何涵盖的工作的权限。如果您不接受此许可证,这些行为将侵犯版权。因此,通过修改或传播覆盖的作品,表示您接受此许可证。
10。下游收件人的自动许可。

您不负责强制第三方遵守本许可证。


"实体交易"是指转移对一个组织或其实质上所有资产的控制权的交易,或对一个组织或合并组织进行细分的交易。如果某项实体交易导致了所涵盖作品的传播,则收到该作品副本的该交易的每一方还将收到该方的前任在上一段中拥有或可能给予的任何作品许可证,以及拥有该作品的权利。如果前任拥有或能够通过合理努力获得相关工作的来源,

您不得对根据本许可证授予或确认的权利的行使施加任何进一步的限制。例如,您不得因行使本许可下授予的权利而收取许可费、版税或其他费用,也不得提起诉讼(包括诉讼中的交叉索赔或反诉),指控任何专利索赔因以下行为而受到侵犯:或者导入程序或程序的任何部分。
11.专利。

"贡献者"是指根据本许可证授权使用程序或程序所基于的作品的版权所有者。这样授权的作品被称为贡献者的"贡献者版本"。

d由贡献者,无论是已经获得的还是以后获得的,在本许可证允许的情况下,以某种方式制造、使用或销售其贡献者版本,但不包括仅因合同的进一步修改而被侵犯的索赔。iButor版本。在本定义中,"控制"包括以符合本许可要求的方式授予专利分许可证的权利。


KE、使用、出售、要约出售、进口和以其他方式运行、修改和传播其贡献者版本的内容。

o实施专利或约定不起诉专利侵权)。向一方"授予"此类专利许可意味着作出此类协议或承诺,不对该方强制实施专利。


如果您在知情的情况下依赖专利许可转让涵盖的作品,并且该作品的相应来源不可供任何人复制,不受任何限制。根据本许可的条款,通过公共网络服务器或其他易于访问的方式,您必须(1)使相应的源如此可用,或(2)安排剥夺您对该特定工作的专利许可的利益,或(3)以符合本许可证要求的方式,安排将专利许可证延伸至下游接受者。""明知故犯"是指您实际知道,如果没有专利许可证,您在一个国家内传送所涵盖的作品,或您的接收者在一个国家内使用所涵盖的作品,将侵犯您有理由相信有效的一项或多项在该国可识别的专利。

如果根据一项交易或安排或与之相关,您通过采购转让的方式转让或传播涵盖的工作,并向接受涵盖的工作的一些当事方授予专利许可,授权他们使用、传播、修改或传播所涵盖的工作,则您授予的专利许可将自动扩展到所涵盖的工作的所有接收者和基于此的工作。

行使根据本许可证特别授予的一项或多项权利。如果您是与从事软件分销业务的第三方签订的协议的一方,根据该协议,您将根据您的工作范围向第三方支付款项,并且根据该协议,第三方将向任何将从您处收到涵盖作品的缔约方,一份歧视性专利许可证(a)与您所传送的涵盖作品的副本(或由这些副本制作的副本)有关,或(b)主要用于和与包含涵盖作品的特定产品或汇编有关,除非您在2007年3月28日之前签订了该协议或授予了专利许可。


12。不得放弃他人的自由。

如果你不能同时履行你在本许可证下的义务和任何其他相关义务,那么你可能根本无法传达。例如,如果您同意有义务收取版税的条款,以便从您向其传送节目的人那里进一步传送节目,则您可以同时满足这些条款和本许可证的唯一方法是完全避免传送节目。
13。远程网络交互;与GNU通用公共许可证一起使用。

交互)通过一些标准或惯常的方法,通过免费从网络服务器提供对相应源的访问,从而获得相应版本源的机会。此对应来源应包括根据以下段落合并的GNU通用公共许可证第3版所涵盖的任何工作的对应来源。


尽管本许可证有任何其他规定,您有权链接或合并任何COVERD作品与GNU通用公共许可第3版下许可的作品合二为一,并将其成果传达出去。本许可证的条款将继续适用于涵盖工作的部分,但与之合并的工作仍受GNU通用公共许可证第3版的管辖。
14。本许可证的修订版本。BR/> BR/>自由软件基金会可随时发布修订版和/或新版本的GNU Affelo通用公共许可证。这些新版本在精神上与当前版本相似,但可能在细节上有所不同,以解决新问题或问题。

如果程序指定GNU Affro通用公共许可证(或任何其他版本)的特定编号版本适用于它,您可以选择遵循该编号版本或自由软件基金会发布的任何后续版本的条款和条件。如果程序没有指定GNU Affro通用公共许可证的版本号,则可以选择自由软件基金会发布的任何版本。
> BR/>如果程序指定代理可以决定GNU Affro通用公共许可证的未来版本,该代理接受某个版本的公开声明将永久授权您为程序选择该版本。

但是,如果您选择使用更高版本,则不会对任何作者或版权所有者附加任何义务。
15。免责声明。


在适用法律允许的范围内,本计划不提供任何担保。除非另有书面说明,否则版权持有人和/或其他方"按原样"提供程序,不提供任何形式的明示或默示保证,包括但不限于适销性和特定用途适用性的默示保证。整个项目的质量和性能风险都在你身上。如果程序被证明有缺陷,您应承担所有必要的维修、修理或纠正费用。
16。责任限制。

在任何情况下,除非适用法律要求或以书面形式同意,否则任何版权持有人或按照上述许可修改和/或传送程序的任何其他方均不对您承担损害赔偿责任,包括任何一般的、特殊的、附带的或相应的由于使用或无法使用程序而产生的损害(包括但不限于数据丢失或数据不准确,或您或第三方遭受的损失,或程序无法与任何其他程序一起运行),即使该持有人或其他方已被告知可能性教育损害赔偿金。
17.第15条和第16条的解释。

与程序的连接,除非保证或责任承担伴随着程序的副本以换取费用。


覆盖率报告,如信号强度等高线的geotiff文件,

…图像::文档/图像/信号强度轮廓.png
:宽度:350px
:对齐:左

…image::docs/images/legend.png
:高度:350px


给定发射机数据和发射机周围的地形数据。
它使用"splat!"<;http://www.qsl.net/kd2bd/splat.html>;``要预测无线电信号的衰减,它实现了一个` longley-rice模型'<;https://en.wikipedia.org/wiki/longley%e2%80%93rice-model>;` `.

wavetrace还可以计算地球静止卫星的站点地图行:

…图片::docs/images/s36e173_satellite_los.png
:宽度:300px
:align:center

wavetrace计划在新西兰使用,但可以配置为在地球上的其他地方工作。



安装
安装splat!>;=1.4.0、gdal>;=1.11和imagemagick。例如,要在Linux系统上安装它们,请执行do``sudo apt get update;sudo apt get install splat gdal bin python gdal imagemagick``
2。创建python 3.5虚拟环境
3。在您的虚拟环境中,通过"pip install wavetrace"通过pip安装wavetrace`



用法
==
以下是计算地面发射机无线电信号覆盖率报告的通用工作流。创建包含发送器数据的csv文件;请参见"tests/data/transmitters.csv"。把发射机数据处理成splat!通过函数"wavetrace.main.process_transmitters"的文件。通过"wavetrace.main.compute_tiles"和"wavetrace.main.download_topicture"函数下载发射机周围的地形数据。地形数据有两种类型:srtm3(标准定义;3弧秒分辨率;南纬45度约66米)或srtm1(高分辨率;1弧秒分辨率;南纬45度约22米)。劈啪!只能处理这两种格式。把地形数据处理成SPLAT!通过函数"wavetrace.main.process_tography"的文件。通过"wavetrace.main.compute廑coverage`

查看ipython笔记本``ipynb/examples.ipynb``了解详细示例,从已处理的发射机和地形数据计算信号覆盖率报告,其中包括geotiff信号强度等值线图。

此外,您还可以通过wavey调用模块"wavetrace.main"中最有用的函数,wavetrace是在模块"wavetrace.cli"中实现的wavetrace的命令行界面。



文档``在rawgit'here<;https://rawgit.com/araichev/wavetrace/master/docs/u build/singlehtml/index.html>;` ` `



=======
-`splat!文档<;http://www.qsl.net/kd2bd/splat.pdf>;`\u
-`SRTM数据上的开放街道地图维基页面<;https://wiki.open street map.org/wiki/SRTM>;`




作者
==
-chris guest(2013-06)
-alex raichev(2016-08)


平台:未知

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

推荐PyPI第三方库


热门话题
java我能在这个程序中更好地使用内存吗?   为什么我的Java while循环迭代了一半   java IntelliJ IDEA不在构建时复制资源   socket仅在Java TCP服务器输出上检查客户端断开连接   java游戏物理摩擦   java片段onClick调用方法   symja数学分析器中无法识别java Abs[x]   java在使用泛型时创建二进制搜索树类的实例?   java在外键约束表上的添加和删除   语法java表达式的含义,如果有条件   java创建内联对象并作为参数传递   是否有相当于Redis排序集(zset)的Java数据结构   java找不到适合的方法(无参数)   音频文件操作给定字节帧的音量Java   Eclipse4不以JavaWebStart启动   java如何使用org在JSON对象中获取嵌套的键元素。json?   java与Jackson的反序列化:“org.codehaus.Jackson.map.JsonMappingException:无法反序列化[projectname]的实例。”   字符串的Java正则表达式   spring集成上的java检测缺火指令