扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:microsoft.com 来源:microsoft.com 2007年8月30日
关键字: CLR SQL Server SQL Server 各版本 数据库
Web 服务和表值函数
表值函数的一个有趣功能是从 Web 服务中提取数据的能力。这可用于创建非常规的报表。我将说明如何在表值函数中使用 Microsoft MapPoint Web 服务,并将它与 AdventureWorks 数据库中的数据联接,从而将空间数据显示在地图上和显示在报表中。
使用 MapPoint Web 服务:
您必须先从 Microsoft 获得免费的开发人员帐户,然后才能开始按照 MapPoint Web 服务进行开发。您可以访问 MapPoint Web 服务客户服务网站,从中获取一个帐户。开始根据该 Web 服务进行开发之前,可以从一个好地方获取信息,即 MapPoint Web 服务 SDK 入门。
您需要使用 Visual Studio 将 Web 引用添加到您的项目中,该引用指向 MapPoint 暂存服务器上的 .wsdl 文件。有关为 MapPoint Web 服务配置 Web 引用的详细信息,请参阅访问 MapPoint Web 服务 SOAP API。
MapPoint Web 服务提供四种服务,每种服务都有其自己的 SOAP 端点:
• 公共服务提供可供其他服务使用的功能。此服务用于检索元数据和用于实用功能。
• 查找服务可用于搜索位置,查找某一地址的经度和纬度(“地理编码”),以及查找某位置附近的兴趣点。
• 路线服务指示一个位置到另一个位置的行车路线。
• 呈现服务可用于利用位置和路线信息创建地图图像。
MapPoint Web 服务表值函数:
最后,我希望我的表值函数使用 MapPoint Web 服务来执行以下任务:
• 使用查找服务来查找 AdventureWorks 自行车店的经度和纬度。
• 使用查找服务来查找距此经度和纬度最近的五台自动柜员机 (ATM)。
• 使用呈现服务来查找从该商店到 ATM 的路线。
• 使用呈现服务将此路线显示在地图上。
首先,我必须定义一个称为 GetProximity 的表值函数。以下 Transact-SQL 代码显示我的表值函数的签名:
|
GetProximity 使用城市名和两位数的州代码来代表初始位置。它返回实体数,和要搜索的实体类型名。它会搜索 n 个最近的实体,其中,n 由计算参数指定,实体类型由 entityTypeName 参数指定。它会返回一个表和一幅地图(二进制文件图像),表中包含名称列、地址列,地图中包含每个实体的路线。
C# 方法签名如下所示:
|
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者