span8
span4
本文将提供关于如何访问的说明Movebank的REST API使用HTTPCaller。Movebank是一种含有从科学研究的动物移动数据世界各地的公共数据库。在这个演示中,HTTPCaller将在秃鹰的运动从总部设在不列颠哥伦比亚省的一项研究返回数据。工作区将允许用户选择从在运行时学习的十个标签的鸟类之一。该HTTPCaller将收到来自包含关于所选择的鹰的空间和时间数据的Movebank API响应。使用每个GPS读数的时间戳,我们将通过季节分类的点位置创建一年四季显示鹰的迁徙模式的GeoJSON的。
Movebank的API需要基本身份验证,可以使用FME三种不同的方法来实现:
虽然Movebank API提供URL请求返回JSON数据,我们感兴趣的是只返回CSV请求的URL。既然我们正在修改每次运行时请求的URL,在HTTPCaller查询字符串参数将被用来提高可读性和整合用户参数。因为我们到需要基本身份验证,并返回CSV数据的API进行动态调用,Movebank是理想的API在HTTPCaller处理。
由于Movebank数据由各自的研究的所有者管理的,关于数据访问权限可以根据所需要的数据集而变化。虽然一些研究需要用户阅读并接受其使用条款,我们感兴趣的只是数据需要用户名和密码。开始,创建一个移动银行账户。你会被指示检查被立即发送包含临时密码的电子邮件。按照要求您更改密码的链接。创建新密码后,单击网页顶部的“跟踪数据地图”选项卡。
使用搜索栏,输入“秃鹰”,然后放大到加拿大西部。你应该看到一个绿色的点在温哥华附近,BC省。点按可查看其他资料,并选择“打开研习网页”。
本研究详细列出了Movebank和数据所有者提供的所有相关信息。注意Movebank ID号,它是本研究中访问数据的唯一密钥。稍后我们将在请求URL中使用它作为参数。还要注意的是,虽然研究中有12只动物,但只有10个跟踪标签。这将影响用户参数,稍后我们将创建该参数以向用户提供eagles列表。
Movebank的API文档在GitHub上共享更多的安全、数据访问和认证信息。因为我们创建了一个工作流,允许用户在运行时选择特亚搏在线定的鹰,所以从内容中选择“获取关于研究中的动物的信息”。请注意,我们将使用请求URL来获取唯一的eagle id列表,该URL将采用以下形式:
https://www.movebank.org/movebank/service/direct-read?entity_type=individual&study_id=2911040
从内容中选择“获取单个动物的事件数据”。请注意,我们将使用请求URL来获取我们选择的eagle的跟踪数据,该请求URL将采用以下形式:
https://www.movebank.org/movebank/service/direct-read?entity_type=event&study_id=2911040&individual_id=2911059
从启动页面中选择New workspace以打开空白画布。
参数可以保留为默认值,因为此转换器仅用于初始化工作区,而不必输入数据。
将您的创建者连接到HTTPCaller的输入端口并打开参数。我们对Movebank API的第一次调用将使用请求URL来获取关于研究中动物的信息。使用下面的请求URL与HTTP方法设置获得:
https://www.movebank.org/movebank/service/direct-read?entity_type=individual&study_id=430263960
从“保存响应体”菜单中选择“文件”,将响应体保存到下拉菜单中。对于输出文件名,选择省略号来选择一个目录,确保您添加了“。“csv”作为输出名称的文件扩展名。
选中复选框以使用身份验证。选择Basic作为您的身份验证方法,并输入您的用户名和密码。
单击绿色的Run按钮,当转换成功时,检查目录以确保文件已保存。在文本编辑器或microsoftexcel中打开文件以查看数据。第五列将显示我们将作为用户参数输入的各个鸟类id。
在导航窗格中右键单击User Parameters并选择Create User Parameter。将类型设置为Choice。该参数将在运行时为用户提供bird id的下拉列表。将您的用户参数命名为Individual al_id,并将提示符设置为Individual Bird ID:。取消选中可选框,以确保每次运行时都选择了ID。选择Configuration旁边的省略号,然后单击Import按钮。导入向导将打开并提示您输入格式和数据集。将格式设置为CSV,并从前面的步骤中选择您的CSV文件作为数据集。
单击Next并选择属性值作为导入模式。
单击Next并选择id作为您的选择列表。
单击Import,将出现12个单独的eagle id列表。单击OK,配置框将自动填充您的数据。确保取消Optional(这是一个强制选项),并且默认值为空,然后单击OK。
我们将重用之前的HTTPCaller,因为我们已经完成了这个请求。下一个请求URL将接收来自eagle研究的个人跟踪数据:
https://www.movebank.org/movebank/service/direct-read?entity_type=event&study_id=430263960&individual_id=
我们将使用查询字符串参数来分解URL的组件。在请求URL字段中输入以下URL并设置获取方法:
https://www.movebank.org/movebank/service/direct-read?
在查询字符串参数的Name列下输入entity_type、study_id和individual al_id作为三个不同的行。在Value列中,将实体类型设置为event,研究ID设置为430263960。对于单个ID,单击在单元格内单击值列中出现的箭头。将光标向下移动到用户参数,然后选择individual_id。
将输出文件名更改为您选择的目录,并将该文件重命名为TrackingData.csv。
通过单击顶部工具栏上的run,确保每次运行工作区时都会提示用户参数,然后提示输入用户参数。文本旁边应该出现一个复选标记。运行工作区,您将被提示选择一个单独的Bird ID。从列表430270991中选择第一个值,然后单击Run。检查您的目录以确保保存了响应主体,并且它包含数据。
有12个id可供选择,但是您可能记得,只有10个跟踪标记。如果使用每个ID运行工作区,您将看到IDs 768161195和768162242不包含任何数据。这将在以后的工作空间中引起问题,因此我们必须在继续之前删除这些值。
在导航窗格中右键单击_individual_id用户参数并选择Edit Definition。单击省略号进行配置,然后通过选择它们并单击减号删除两个id。单击OK两次以退出配置和用户参数窗口。如果您现在尝试运行工作区,那么只有10个选项可供选择。
将HTTPCaller输出连接到FeatureReader。在参数中,将格式设置为CSV,并使用数据集右侧的箭头指定_response_file_path属性作为输入。将坐标系统设置为LL84,然后展开输出端口以选择单个输出端口。
运行启用了功能缓存的工作空间,以便在可视化预览中查看输出。您可以在提示时选择任何ID。通用端口将有数百到数千输出功能,但如果你点击旁边的放大镜
动态源数据会导致属性从工作区中隐藏,因此我们必须公开它们,以便在下游使用属性。将FeatureReader的通用输出端口连接到attribute脚注器。在前面的步骤中,使用特性信息窗口中的五个属性名来填充属性(您也可以使用Import on TrackingData.csv并选择属性名而不是值)。
再次运行工作区,您将看到属性现在在Visual Preview中是可见的。
要按季节对数据进行分类,首先必须将timestamp属性格式化为只显示月和日。将attribute脚注器连接到DateTimeConverter并打开参数。从Datetime属性字段旁边的下拉菜单中选择timestamp属性。对于输出格式,输入%m%d。单击OK。
在参数中,将X值设置为您的location_long属性,将Y值设置为location_lat。
AttributeRangeMapper将基于数值范围创建一个新属性。选择timestamp作为源属性,并将Output属性设置为Season。由于分点和至点每年都不同,我们将在2019年日历年表明每个季节的开始和结束日期。在范围查找表的第一行,在From列中输入0000,在To列中输入0319。将输出值设置为Winter。这表明从年初(即0101年)到3月19日是冬季。对以下范围重复此过程:
添加一个写入器并将格式指定为GeoJSON(地理JavaScript对象表示法)。写一个名为EagleOutput的文件。json to your desired output folder.确保将特征类型定义设置为Automatic。单击OK,系统将提示您更改特性类型名称—输入BaldEagle。把你的定语和作者联系起来。如果在导航窗格中查看已发布的参数,您将注意到出现了一个新参数,要求用户为其输出指定一个目的地。因为每个运行可能包含不同的数据,所以用户能够指定不同的文件名以避免在每次运行时覆盖他们的数据是很重要的。
当您单击绿色的Run按钮时,将提示您为您的GeoJSON选择一个bird和一个目录。填写参数并单击Run。翻译成功后,转到目录以确保文件已写入。
要查看迁移模式,必须使用季节属性来标记数据。有许多应用程序将直接读取GeoJSON文件(即QGIS ArcMap)。在本例中,我们将使用ArcGIS Online(您也可以使用FME Workbench读取GeoJSON,然后将其发送给Inspector transformer,并按季节设置分组)。将您的GeoJSON文件作为托管层上传到ArcGIS Online,并在地图查看器中打开它。当提示选择要显示的属性时,选择Season。输出映射将根据您选择的个人ID而有所不同,但是迁移模式应该保持类似。在春季和夏季,沿BC海岸的白头海雕倾向于向北迁移到海湾群岛,而在秋季和冬季气温下降时它们向南飞。
©2019安全亚搏在线软件公司|法律