Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google maps 在谷歌地图上覆盖ESRI形状文件的最佳方法?_Google Maps_Google Maps Api 3_Gis_Kml_Shapefile - Fatal编程技术网

Google maps 在谷歌地图上覆盖ESRI形状文件的最佳方法?

Google maps 在谷歌地图上覆盖ESRI形状文件的最佳方法?,google-maps,google-maps-api-3,gis,kml,shapefile,Google Maps,Google Maps Api 3,Gis,Kml,Shapefile,在谷歌地图中覆盖形状文件的最佳方式是什么 经过一些阅读后,我们认为,将shapefile转换为KML并在谷歌地图中覆盖KML是一种选择。如果是这种情况,如何将shapefile转换为KML 我相信会有一些开源工具可用于此转换。任何人都可以指向一个工具,在不丢失任何数据的情况下将shapefile转换为KML吗?您是说shapefile作为一个文件吗?无论哪种方式,您都应该能够使用软件包中提供的来执行转换。您需要.shp文件,最好是相应的.dbf文件(它将提供上下文信息) 也可以考虑使用一个工具来

在谷歌地图中覆盖形状文件的最佳方式是什么

经过一些阅读后,我们认为,将shapefile转换为KML并在谷歌地图中覆盖KML是一种选择。如果是这种情况,如何将shapefile转换为KML


我相信会有一些开源工具可用于此转换。任何人都可以指向一个工具,在不丢失任何数据的情况下将shapefile转换为KML吗?

您是说shapefile作为一个文件吗?无论哪种方式,您都应该能够使用软件包中提供的来执行转换。您需要
.shp
文件,最好是相应的
.dbf
文件(它将提供上下文信息)

也可以考虑使用一个工具来减少形状文件的复杂性,然后将它们转换成KML;您将根据需要的详细程度大幅减少文件大小。

从2019年3月12日起,FusionTables不再是

使用将Shapefile导入到Google FusionTables()中,从中可以以多种方式使用数据,例如使用Google地图显示数据。

我喜欢使用(开源和gui友好)将Shapefile转换为kml

谷歌地图API只支持一个。一个限制是文件大小

要减小文件大小,可以使用的“简化几何图形”功能。这将“平滑”多边形

然后你可以选择你的图层并在上面做一个“另存为kml”

如果需要处理一组文件,可以使用来自osgeo4w shell的Quantum GIS的ogr2ogr命令对该过程进行批处理

最后,我建议压缩您的kml(使用您喜爱的压缩程序)以减小文件大小,并将其保存为kmz。

有人找到的可用方法


此外,在我看来,多边形层的最有效表示方式是使用Google Maps API的多段线编码,它可以显著压缩lat lng数据。但进入这种格式需要付出努力:使用ArcMap将形状导出为lat/lng坐标,然后使用Google Maps API将其转换为多段线。

为了更新这些答案,ESRI在ArcMap 10.X中包含了这个工具。此外,还存在一个工具


只需导入所需图层(矢量或光栅)并选择输出位置、分辨率等。非常简单的工具

我不会使用KML。取而代之的是,现在可以在谷歌地图API中使用它。这是一个较新的功能,在原始响应中不存在

在任何情况下,只需在中打开SHP文件,然后您就可以以您喜欢的任何格式(KML、GeoJSON)输出它

如果您使用Google Maps进行工作,我发现了一个高级扩展,它可以直接处理加载shapefile的操作,您可以直接连接到从ESRI生成的shapefile。我在CMaps网站上搜索了一下,找到了这个由州shapefile加载的代码片段:


2018年已经。。。我发现这个很棒的在线工具可以将ESRI shapefile转换为SVG、TopoJSON、GeoJSON

下面是如何使用它的说明


快速而直接!:)

一,。ctrl-shift-v以加载形状文件:;2.另存为KML per:该过程本身运行良好。然而,在我的例子中,一些形状没有被转换(例如,坐标没有被转换)。完成此过程后,需要将融合图标记为公共访问,并将api密钥添加到google Map。与许多其他实验性google产品一样,google fusion Tables也将很快被杀死。stackexchange可能也能提供帮助,例如,链接断开!但是
mapshapper
没有被问到这个问题的谷歌地图图层
var cMap = new centigon.locationIntelligence.MapView();
    cMap.key([your_api_key]);


    cMap.layerNames(["Basic Shapes"]);
    cMap.dbfKeys([['Alabama','Alaska','Arizona','Arkansas','California','Colorado','Connecticut','Delaware','District of Columbia','Florida','Georgia','Hawaii','Idaho','Illinois','Indiana','Iowa','Kansas','Kentucky','Louisiana','Maine','Maryland','Massachusetts','Michigan','Minnesota','Mississippi','Missouri','Montana','Nebraska','Nevada','New Hampshire','New Jersey','New Mexico','New York','North Carolina','North Dakota','Ohio','Oklahoma','Oregon','Pennsylvania','Rhode Island','South Carolina','South Dakota','Tennessee','Texas','Utah','Vermont','Virginia','Washington','West Virginia','Wisconsin','Wyoming']]);
    cMap.userShapeKeys([['Massachusetts','Minnesota','Montana','North Dakota','Hawaii','Idaho','Washington','Arizona','California','Colorado','Nevada','New Mexico','Oregon','Utah','Wyoming','Arkansas','Iowa','Kansas','Missouri','Nebraska','Oklahoma','South Dakota','Louisiana','Texas','Connecticut','New Hampshire','Rhode Island','Vermont','Alabama','Florida','Georgia','Mississippi','South Carolina','Illinois','Indiana','Kentucky','North Carolina','Ohio','Tennessee','Virginia','Wisconsin','West Virginia','Delaware','District of Columbia','Maryland','New Jersey','New York','Pennsylvania','Maine','Michigan','Alaska']]); 
    cMap.labels([['Massachusetts','Minnesota','Montana','North Dakota','Hawaii','Idaho','Washington','Arizona','California','Colorado','Nevada','New Mexico','Oregon','Utah','Wyoming','Arkansas','Iowa','Kansas','Missouri','Nebraska','Oklahoma','South Dakota','Louisiana','Texas','Connecticut','New Hampshire','Rhode Island','Vermont','Alabama','Florida','Georgia','Mississippi','South Carolina','Illinois','Indiana','Kentucky','North Carolina','Ohio','Tennessee','Virginia','Wisconsin','West Virginia','Delaware','District of Columbia','Maryland','New Jersey','New York','Pennsylvania','Maine','Michigan','Alaska']]); 

    cMap.polyDataSources([centigon.locationIntelligence.CMapAnalytics.DATA_PROVIDERS.SHAPE_DATAPROVIDER]);
    cMap.layerTypes([centigon.mapping.Layer.TYPE.POLY]);
    cMap.locations([["https://gmapsplugin.net/cmapsanalytics/assets/shapes/usstates.shp"]]);

    cMap.panTo("USA");
    cMap.zoomLevel(3);