【问题标题】:Cannot load map package using ArcGIS Runtime .Net for WPF local service无法使用 ArcGIS Runtime .Net 为 WPF 本地服务加载地图包
【发布时间】:2018-05-16 01:55:50
【问题描述】:

我正在尝试使用 ArcGIS Runtime .Net for WPF(版本 100.1)将本地地图包加载到主窗口。但不知何故,本地服务器无法在地图包中找到图层。这是我的脚本:

        public MainWindow()
    {
        InitializeComponent();
        StartLocalServer();
    }

    private Esri.ArcGISRuntime.LocalServices.LocalServer _localServer;

    private async void StartLocalServer()
    {            
       _localServer = Esri.ArcGISRuntime.LocalServices.LocalServer.Instance;
        await _localServer.StartAsync();
        var mapService = new Esri.ArcGISRuntime.LocalServices.LocalMapService(@"C:\mappackage.mpk");
        await mapService.StartAsync();
        var mapServiceUrl = mapService.Url;

    }

我检查了本地服务的生成 url,在该地图包中没有找到任何图层。请参阅此处的屏幕截图: screenshot of local service 地图包是在启用了运行时支持的 ArcMap 10.5 中创建的。它包含 2 个点图层、2 个折线图层和 1 个多边形图层。

任何帮助将不胜感激!谢谢!

【问题讨论】:

  • 试过 ArcMap 10.5.1 创建地图包,还是一样的问题。

标签: c# wpf localserver arcgis-runtime-net


【解决方案1】:

v100.1 的本地服务器不支持使用 10.5 创建的 MMPK。您需要 10.5.1 才能创建与 100.1 本地服务器兼容的软件包。

来自https://developers.arcgis.com/net/latest/wpf/guide/system-requirements.htm

  • ArcGIS Pro:要创建用于 ArcGIS Runtime 应用程序的移动地图包,请使用 ArcGIS Pro 1.3 或更高版本。
  • ArcGIS Desktop:要为 ArcGIS Runtime Local Server 100.1.0 创建地理处理包和地图包,请使用 ArcGIS Desktop 10.5.1。

【讨论】:

  • 我刚刚使用 ArcGIS 10.5.1 创建了地图包,但仍然面临同样的问题。无法弄清楚为什么。本地地图服务可以读取地图包的描述,但无法访问图层。
  • @dotMorten 我发现使用 10.5.1 制作的 MPK 在 ArcGIS Runtime 100.1 中的执行速度非常慢,几乎无法使用。这是强迫我们使用 MMPK 吗?我发现 MMPK 性能非常好......
  • 当然不是,但我们鼓励人们转向 MMPK。我们没有让 MPK 变慢。使用 MMPK,我们构建了更好的更直接的读取和渲染架构,而不是通过大型重型服务器和昂贵的序列化开销。这就是为什么它更快。我们的目标是运行时可以原生支持您使用本地服务器的所有场景。除了地理处理(永远不会结束)之外,我认为我们现在基本上已经完成了。并感谢您对该架构的性能的称赞 :-)
【解决方案2】:

自动创建的本地服务器部署仅包含默认情况下所需的最少资源。如果地图包包含 shapefile、栅格数据等,需要在部署配置文件的附加部署选项中指定。

【讨论】:

    猜你喜欢
    • 2019-04-24
    • 2014-06-30
    • 2023-04-08
    • 1970-01-01
    • 2019-12-29
    • 2012-08-05
    • 1970-01-01
    • 1970-01-01
    • 2021-07-11
    相关资源
    最近更新 更多