GIS地图学习笔记三之应用授权
来源:互联网 发布:还原备份软件 编辑:程序博客网 时间:2024/06/05 14:38
在使用ArcGIS for Android 进行开发的时候,你会注意到你的地图上会有Licensed For Developer Use Only
和Powered by Esri
等提示。如果你想去掉这些信息,你需要获取Esri的许可证。下面讲讲具体怎么做。
Esri的许可证级别
Esri提供四种ArcGIS Runtime许可证级别:精简版,基础版,标准版和高级版。每个额外的级别为您的应用程序用户打开更多功能。
1、精简版
功能
1、可以查看ArcGIS平台上的地图,图层和包;
2、可以编辑公共服务中的功能。 这些服务在互联网上可用,并不安全;
3、可以同步要素图层服务生成移动地理数据库;
4、可以同步更新要素服务图层到本地移动地理数据库;
5、地理编码或反向地理编码,需要使用到ArcGIS Online的世界地理编码服务中的for_storage参数。具体可以参考ArcGIS Online文档中的地理编码服务;
6、简单和优化的进程;
7、使用网络服务计算服务区域并找到最近的设施。
许可证密钥
免费提供。 登录到您的ArcGIS for Developers帐户,转到许可您的ArcGIS Runtime应用程序,然后将许可证密钥复制到您的应用程序中。
指定用户
在ArcGIS Online组织或本地门户网站中的1级或2级注册用户。
2、基础版
功能
1、精简版的所有功能;
2、在移动地理数据库中编辑要素和要素服务上编辑要素,这些只能在本地网络上访问或者固定;
3、将移动地理数据库中编辑的要素对象(几何:点线面)、属性、附件同步到要素服务上;
4、在门户网站上添加,更新或删除内容。
许可证密钥
购买可供部署的包,可以联系为您服务的Esri办事处,或者如果您在美国,致电Esri,电话是1-800-447-9778。
指定用户
在ArcGIS Online组织或本地门户网站中的2级注册用户。
3、标准版
功能
1、基础版的所有功能;
2、访问额外的数据,包括:
Shapefiles
GeoPackages
- ENC层(S-57)
- 本地栅格图层
- 使用栅格功能
- 本地具有海拔数据的栅格。
3、视觉分析,视线、视域。
许可证密钥
购买可供部署的包,可以联系为您服务的Esri办事处,或者如果您在美国,致电Esri,电话是1-800-447-9778。
指定用户
暂时不可用。
4、高级版
功能
1、标准版的所有功能。
许可证密钥
购买可供部署的包,可以联系为您服务的Esri办事处,或者如果您在美国,致电Esri,电话是1-800-447-9778。
指定用户
暂时不可用。
扩展许可证
ArcGIS Runtime提供扩展,可以访问其他功能,分析工具和/或数据。
1、 分析
功能
1、最低使用的等级为 标准版;
2、使用网络服务计算服务区域并找到最近的设施。
许可证密钥
无
指定用户
无
2、 ArcGIS Runtime的街道地图(StreetMap Premium)
功能
1、适用于所有许可证级别
- 在移动地图包中离线使用
- 高质量的制图地图
- 离线地理编码
- 离线路由
2、可以为以下地区下载街道地图(StreetMap Premium):
- 北美
- 拉丁美洲
- 欧洲
- 亚太地区
- 中东和非洲
- 日本
每个区域性的移动地图包都被许可使用扩展许可证密钥。 您可以使用这些软件包与相关许可证密钥的任意组合。
补充:
ArcGIS Runtime的StreetMap Premium是一种新的数据产品,作为ArcGIS Runtime的扩展,它提供了丰富的街道数据,为高质量的地图绘制提供地理编码和路径支持。ArcGIS Runtime的StreetMap Premium运行时映射在世界所有地区都是一致的,可以离线使用; 他们可以同时满足您应用中的地址定位器,街道网络数据集和底图的需求。
注意:
StreetMap Premium for ArcGIS Runtime许可证由客户购买并提供。 您必须为您的应用程序提供访问此许可证密钥的机制。 许可证过期后,StreetMap Premium数据不能使用。 一旦到期,应用程序用户必须购买另一个许可证才能继续使用数据。 您必须在您的应用中提供正确的消息,以通知用户其许可证已过期或即将到期。
许可证密钥
许可证可供购买。
StreetMap Premium for ArcGIS运行时延伸许可证按年度提供。 许可证过期后,不能使用StreetMap Premium数据集。
请联系为您服务的Esri办事处,或者如果您在美国,致电Esri,电话是1-800-447-9778。
指定用户
暂时不可用。
许可证的使用
有两种方式可以在你的应用中设置许可证的级别,分别是Named user
(指定用户) 和 License key
(注册码) 。
1、Named user
(指定用户)
Named user
是指ArcGIS的组织帐户,它是ArcGIS Online或ArcGIS Enterprise组织中的成员。获取应用运行时的许可证只是指定用户的某一项权利。你需要在应用程序中引入代码,以便程序可以登录到门户并返回和指定用户相关联的许可证信息。
这种方式支持30天周期的标准版许可,在30天的许可周期内可实现离线使用。但是超过30天最长使用期,应用需要在联网状态下重新获取标准版许可,否则只能使用基础版功能。
2、License key
许可证密钥
许可证密钥是包含许可证详细信息的文本字符串,许可证密钥可以通过ArcGIS for Developer帐户获取,也可以在ArcGIS Runtime部署包中购买。许可证密钥通常编译到您的运行时应用程序中。
购买ArcGIS Runtime SDK标准版永久授权,这种方式可以实现许可永久离线使用。在绝对禁止联网的情况下,需要采用这种模式。
授权应用的代码集成
1、获得部署许可
阅读最终用户许可协议。
在使用任何ArcGIS Runtime功能之前插入如下代码。
调用ArcGISRuntimeEnvironment单例对象上的setLicense方法以使用许可证密钥许可应用程序。代码如下:
//ArcGISRuntimeEnvironment.setLicense(String licenseKey);ArcGISRuntimeEnvironment.setLicense("runtimelite,1000,rud#########,day-month-year,####################");
您的应用现已获得部署许可。
2、使用指定用户的帐户授权您的应用程序
将指定用户添加到你的代码中,以便你的应用能够登录和使用ArcGIS组织的帐户。
在应用运行的时候,用户必须成功登录才能返回应用程序将使用的许可证信息(确认许可证级别)。
步骤如下:
阅读最终用户许可协议。
在使用任何ArcGIS Runtime功能之前插入如下代码。
允许应用使用ArcGIS组织的帐户进行身份验证。 在加载门户网站时,获取LicenseInfo并使用它来许可应用程序。 作为该过程的一部分,请保存许可证信息,以准备在离线环境中使用您的应用程序长达30天。代码如下:
// connect to ArcGIS Online or an ArcGIS portal as a named user// The code below shows the use of token based security but// for ArcGIS Online you may consider using Oauth authentication.UserCredential credential = new UserCredential("user", "password");// replace the URL with either the ArcGIS Online URL or your portal URLPortal portal = new Portal("https://your-org.arcgis.com/");portal.setCredential(credential);// load portal and listen to done loading eventportal.loadAsync();portal.addDoneLoadingListener(() -> { // get license info from the portal LicenseInfo licenseInfo = portal.getPortalInfo().getLicenseInfo(); // Apply the license at Standard level ArcGISRuntimeEnvironment.setLicense(licenseInfo);});
- 如果您将许可证信息保存在本地存储中,则可以使用保存的许可证信息在离线环境中启动和许可您的应用程序。 从存储中检索许可证并授权您的应用程序。代码如下:
// connect to ArcGIS Online or an ArcGIS portal as a named user// The code below shows the use of token based security but// for ArcGIS Online you may consider using Oauth authentication.UserCredential credential = new UserCredential("user", "password");// replace the URL with either the ArcGIS Online URL or your portal URLPortal portal = new Portal("https://your-org.arcgis.com/");portal.setCredential(credential);// load portal and listen to done loading eventportal.loadAsync();portal.addDoneLoadingListener(() -> { // get license info from the portal LicenseInfo licenseInfo = portal.getPortalInfo().getLicenseInfo(); // Apply the license at Standard level ArcGISRuntimeEnvironment.setLicense(licenseInfo);});
扩展级别许可证的使用
使用扩展级别许可证的步骤和上面的部署许可类似,只是多一个参数。
阅读最终用户许可协议。
在使用任何ArcGIS Runtime功能之前插入如下代码。
调用ArcGISRuntimeEnvironment单例对象上的setLicense方法以使用许可证密钥许可应用程序。代码如下:
//ArcGISRuntimeEnvironment.setLicense(String licenseKey, List<String> extensions);ArcGISRuntimeEnvironment.setLicense("runtimeadvanced,1000,rud#########,day-month-year,####################", Arrays.asList("runtimeanalysis,1000,rud#########,day-month-year,####################", "another license extension code"));
您的应用现已获得部署许可。
实际开发使用步骤
1、注册 arcgis online 的试用账户
第一次使用时需要先注册arcgis online 的试用账户,地址arcgis online 的试用账户http://www.arcgis.com ,点击“试用ArcGIS”
填写相关信息
在邮件中确认
确认后,填写相关信息
在这个填写完之后,还有一个填写组织(公司)相关信息的界面,忘记截图了o(╥﹏╥)o,都填写完整之后我们可以来到这个界面
可以看到我们的账号级别是第二级的,但是账号有效期只有21天。如果要永久使用需要购买,联系方式如下
2、登录arcgis开发者网站
使用上面注册的账号在Gis的开发者网站上登录,https://developers.arcgis.com/,登录之后界面如下
我们点击“New Application”创建一个新的应用