在Excel中可视化地图数据

时间:2012-08-28 15:09:25

标签: c# excel add-in gis

我在Excel工作簿中有邮政编码级别数据,理想情况下我想在我感兴趣的区域的另一张表上有一张地图。我的数据集中的邮政编码应该在该地图中突出显示。我使用的是Excel 2010,没有GIS的经验,但有丰富的C#,Java经验。有关如何实现这一目标的任何想法?我寻找开源加载项,并没有发现很多。还有另一种方法可以达到我的目的吗?

4 个答案:

答案 0 :(得分:2)

您可以查看非gis用户的解决方案: http://www.esri.com/software/esri-maps-for-office

它需要Office 2010(在您的情况下没有问题),它基于私有 GIS软件(无FLOSS)。在视频部分有一些例子。

答案 1 :(得分:2)

我使用Topo.ly。您只需从Excel复制所有帖子代码并将其粘贴到Topo.ly中,它就会在Google地图上绘制它们。它还托管您的地图,因此您可以将其保存并稍后返回,或与他人共享。

答案 2 :(得分:1)

这可能是一个很好的起点。您将需要一些WPF知识

Bing Maps Windows Presentation Foundation (WPF) Control, Version 1.0

然后使用VSTO,您可以将其集成到Excel中 Using WPF Controls in Office Solutions

示例WPF应用程序是@ Integrating Bing Maps With WPF

修改

在非WPF解决方案上找不到多少,但你可以尝试一下

Integrating Virtual Earth Maps and Excel 2007 Using Visual Studio 2005 Tools for Office Second Edition

在此下载http://archive.msdn.microsoft.com/VSTOVirtualEarthXL

答案 3 :(得分:1)

为了将来参考或有类似问题的人,您可以使用名为Funfun的Excel加载项在Excel 2016中创建数据映射。我在此处提供了两个示例。

enter image description here

enter image description here

正如您所看到的,屏幕截图的中间部分有一些代码。这是因为Funfun允许您直接在Excel中编写和运行JavaScript代码,JavaScript代码也可以使用工作表中存储的数据。使用JavaScript的能力意味着您可以使用第三方库(如HighCharts.js或D3.js)来绘制数据图等图表。在这两个例子中,我实际上使用了highmaps,它是HighCharts.js库的一部分。 highmaps.js已经有不同的模板,从世界地图到不同国家的特定地图。我相信你可以找到你需要的地图。

Funfun还有一个在线编辑器,您可以在其中使用数据测试JavaScript代码。您可以在下面的链接中查看上面示例的详细代码。

https://www.funfun.io/1/#/edit/5a5c9a50404f66229bda3ae0

https://www.funfun.io/1/#/edit/5925036104ce702ccfb22b0e

如果您对在线编辑器中获得的结果感到满意,可以使用上面的URL轻松地将结果加载到Excel中。首先,您需要从插入 - 我的加载项插入Funfun加载项。以下是一些截图,展示了如何做到这一点。

enter image description here

enter image description here

披露:我是Funfun的开发者