第8页
第4排
本文将提供有关如何访问的说明移动银行的REST API使用httpcaller.移动银行是一个包含来自世界各地科学研究的动物运动数据的公共数据库。在这个演示中,HTTPCaller将返回不列颠哥伦比亚省一项研究的秃鹰移动数据。工作区将允许用户在运行时从研究中选择十个标记的鸟类之一。httpCaller将收到来自movebank api的响应,其中包含有关所选Eagle的时空数据。使用每个GPS读数的时间戳,我们将按季节对点位置进行分类,以创建一个显示鹰全年迁徙模式的geojson。
movebank的api需要基本的认证,可以在fme中使用三种不同的方法:
尽管movebank API提供了返回JSON数据的请求URL,我们感兴趣的请求URL只返回csv。因为我们在每次运行时都在修改请求URL,httpcaller中的查询字符串参数将用于提高可读性和合并用户参数。因为我们对需要基本身份验证并返回csv数据的API进行动态调用,movebank是在httpcaller中处理的理想API。
由于移动银行数据由各自研究的所有者管理,根据需要的数据集,数据访问权限可能有所不同。虽然有些研究要求用户阅读并接受其使用条款,我们感兴趣的数据只需要用户名和密码。要开始,创建移动银行帐户.系统将指示您检查包含临时密码的电子邮件。按照要求您更改密码的链接操作。创建新密码后,点击网页顶部的“跟踪数据地图”选项卡。
使用搜索栏,输入“秃鹰”并放大到加拿大西部。你应该在温哥华附近看到一个绿点,公元前。单击该点以查看其他信息并选择“在研究页面中打开”。
研究细节概述了movebank和数据所有者提供的所有相关信息。请注意移动银行ID号,它是访问本研究中数据的唯一键。稍后我们将在请求URL中使用它作为参数。也要注意,尽管研究中有12只动物,只有10个跟踪标签。这将影响我们稍后创建的用户参数,以便为用户提供鹰列表。
移动银行API文档在GitHub上共享,其中附加安全性,还详细介绍了数据访问和身份验证信息。因为我们正在创建一个工作流,允许用户在运行时选择亚搏在线特定的Eagle,从内容中选择“获取研究中动物的信息”。请注意,我们将用于获取唯一Eagle ID列表的请求URL的格式如下:
https://www.movebank.org/movebank/service/direct-read?实体类型=个人和研究类型=2911040
从内容来看,选择“获取单个动物的事件数据”。请注意,我们将用于获取所选Eagle跟踪数据的请求URL的格式如下:
https://www.movebank.org/movebank/service/direct-read?实体\类型=事件和研究\ ID=2911040和个人\ ID=2911059
从“启动”页面中选择“新建工作区”以打开空白画布。
参数可以保留为默认值,因为此转换器仅用于启动工作区而无需输入数据。
将创建者连接到httpcaller的输入端口并打开参数。我们对movebank API的第一个调用将使用请求URL来获取有关研究中动物的信息。将http方法设置为get时使用以下请求URL:
https://www.movebank.org/movebank/service/direct-read?实体类型=个人和研究类型=430263960
通过从“将响应正文保存到”下拉菜单中选择“文件”,更改将响应正文保存到的位置。对于输出文件名,选择省略号以选择目录,确保将“.csv”作为文件扩展名添加到输出的名称中。
选中此框以使用身份验证。选择“基本”作为身份验证方法,并输入用户名和密码。
单击绿色的运行按钮,当转换成功时,检查目录以确保文件已保存。在文本编辑器或Microsoft Excel中打开文件以查看数据。第五列将显示作为用户参数输入的各个鸟ID。
在导航窗格中右键单击“用户参数”,然后选择“创建用户参数”。将类型设置为选项。此参数将在运行时向用户提供鸟ID的下拉列表。将用户参数命名为Individual_ID,并将提示设置为Individual Bird ID:。取消选中可选框以确保每次运行时都选择了ID。选择配置旁边的省略号,然后单击导入按钮。导入向导将打开,提示您输入格式和数据集。将格式设置为csv,并从上一步中选择csv文件作为数据集。
单击“下一步”,然后选择“属性值”作为导入模式。
单击下一步并选择ID作为您的选择列表。
单击“导入”,将显示12个Eagle ID的列表。单击确定,配置框将自动填充您的数据。确保取消选中“可选”(这是强制选项),并且默认值保持空白,然后单击“确定”。
我们将重用以前的httpcaller,因为我们已经完成了这个请求。下一个请求URL将接收来自Eagle研究的个人跟踪数据:
https://www.movebank.org/movebank/service/direct-read?实体类型=事件和研究ID=430263960和个人ID=
我们将使用查询字符串参数来分解URL的组件。在“请求URL”字段中输入以下URL并设置要获取的方法:
https://www.movebank.org/movebank/service/direct-read?
输入实体类型,学习ID,以及查询字符串参数的名称列下的单个\u id作为三个不同的行。在“值”列中,将实体类型设置为事件,研究编号为430263960。对于个人ID,在单元格内单击“值”列中显示的箭头。将光标向下移动到用户参数,然后选择单个\u id。
将输出文件名更改为您选择的目录,将文件重命名为trackingdata.csv。
确保每次运行工作区时都会提示用户参数,方法是单击顶部工具栏上的“运行”,然后提示输入用户参数。此文本旁边应显示一个复选标记。运行工作区,系统将提示您选择单个鸟ID。从列表430270991中选择第一个值,然后单击运行。检查您的目录以确保已保存响应正文,它包含数据。
有12个ID可供选择,但你可能记得,只有10个跟踪标签。如果使用每个ID运行工作区,您将看到,IDS768161195和768162242不包含任何数据。这将导致工作区稍后出现问题,所以我们必须在继续之前删除这些值。
在导航窗格中右键单击您的个人用户参数,然后选择编辑定义。单击省略号进行配置,然后通过选择两个ID并单击减号删除它们。单击“确定”两次以退出配置和用户参数窗口。如果您现在尝试运行工作区,只有10个选项可供选择。
将httpCaller输出连接到FeatureReader。在参数中,将格式设置为csv,并使用数据集右侧的箭头指定“响应文件”路径属性作为输入。将坐标系设置为LL84,然后展开输出端口以选择单个输出端口。
在启用功能缓存的情况下运行工作区,以在视觉预览中查看输出。当提示时,您可以选择任何ID。通用端口将具有数百到数千个输出功能,但如果单击旁边的放大镜,
动态源数据导致属性从工作区中隐藏,因此我们必须公开它们,以便在下游使用属性。将FeatureReader的通用输出端口连接到attributeExposer。使用上一步中功能信息窗口中的五个属性名填写要公开的属性(您也可以在trackingdata.csv上使用import,并选择属性名而不是值,如果你愿意的话)。
再次运行工作区,您将看到这些属性现在在视觉预览中可见。
按季节对我们的数据进行分类,我们必须首先将timestamp属性格式化为只显示月份和日期。将attributeexposer连接到datetimeconverter并打开参数。从日期时间属性字段旁边的下拉菜单中选择时间戳属性。对于输出格式,输入%m%d。单击“确定”。
在参数中,将x值设置为location\u long属性,Y值设置为location\u lat。
attributeRangeMapper将基于数字范围创建一个新属性。选择时间戳作为源属性,并将输出属性设置为季节。因为春分和夏至是逐年变化的,我们将在2019年前指出每个季节的开始和结束日期。在范围查找表的第一行中,在“从”列中输入0000,在“到”列中输入0319。将输出值设置为冬季。这表明,从年初(将是0101年)到3月19日,这个季节是冬天。对以下范围重复此过程:
添加一个编写器并将格式指定为geojson(地理javascript对象表示法)。将名为eagleoutput.json的文件写入所需的输出文件夹。确保功能类型定义设置为自动。单击确定,系统将提示您更改功能类型名称-输入Baldegle。把你的属性和作者联系起来。如果在导航窗格中查看已发布的参数,您将注意到出现了一个新的请求,要求用户为其输出指定一个目的地。因为每次运行可能包含不同的数据,重要的是,用户能够指定不同的文件名,以避免每次运行时覆盖其数据。
单击绿色的运行按钮时,系统将提示您为geojson选择一只鸟和一个目录。填写参数并单击运行。一旦翻译成功,转到目录以确保文件已写入。
要查看迁移模式,你必须用季节属性来象征你的数据。有许多应用程序可以直接读取geojson文件(即质量信息系统,arcmap)。在这个例子中,我们将在线使用Arcgis(您也可以通过使用FME工作台在geojson中阅读,然后将其发送给检查员变压器,并按季节分组)。将geojson文件作为托管层上传到Arcgis在线,并在地图查看器中打开它。当提示选择要显示的属性时,选择季节。输出映射将根据您选择的个人ID而变化,但是迁徙模式应该保持相似。在春天和夏天,沿着BC海岸的秃鹰倾向于向北迁移到海湾岛屿,而当气温下降时,它们会在秋季和冬季向南飞行。
?2019安全亚搏在线软件公司|法律