仅针对纬度和经度将 CSV 转换为 KML
Converting CSV to KML for just lat and lon
下面是我用来将我的 CSV 文件转换为 KML 到 Google 地球专业版的代码;然而 Google 当我上传到文件时,地球专业版继续崩溃。 Google Earth Pro 无法处理 Lat Lon 坐标的数量?我在这段代码中遗漏了什么吗?我有一些超过 100,000 个坐标的 CSV 文件。试图避免此错误....
import simplekml
import pandas
df=pandas.read_csv("FILE NAME.CSV")
kml=simplekml.Kml()
for lon,lat in zip(df["Longitude"],df["Latitude"]):
kml.newpoint(coords=[(lon,lat)])
kml.save("OUTPUT.KML")
创建具有超过 100,000 个地标的 KML 可能会在 GE Pro 中出现性能问题。在您的情况下,您的 KML 文件导致 GE Pro 崩溃。
将 CSV 文件直接导入 GE Pro 是有限的,但自定义在 Python 中生成的 KML 可为您提供更多选项,帮助您根据需要定制输出。
KML 提供了使用时间、区域或高度级别过滤来控制显示哪些地图项或子 KML 文件的机制。
您需要根据您的数据特征来考虑什么是有意义的。如果您的数据在地理上分散并且您可以将数据分箱到不同的地理子区域,那么每个子区域都可以写入一个单独的 KML 文件,并且主 KML 文件可以有一个到每个子 kml 文件的网络链接但首次加载时不可见。
大型 KML 文件可以使用以下技术进行缩放:
- 网络链接
- 地区
SimpleKML 支持创建网络链接和区域。您可以使用 shapely 模块来确定一个点是否在矩形或多边形内,以将这些点分到适当的子区域。
网络链接
A NetworkLink 允许一个 KML 文件包含另一个 KML 文件。您可以在根 KML 文件中拥有任何级别的网络链接,从平面(带有网络链接的单个 KML 文件到 KMZ 中的所有其他 KML 文件)到深度(每个 KML 文件都有一个网络链接到其他 KML 文件,每个文件都有自己的网络链接) .取决于您需要如何构建 KML 以及数据的大小。
关键是 Google Earth 选择第一个 KML 作为根 KML 文件,因此您必须确保第一个文件(通常命名为 doc.kml)是加载另一个的根 KML 文件通过网络链接的 KML 文件。一个常见的结构是在“kml”子文件夹中包含额外的 KML 文件,以便在将它们打包在 KMZ 文件中时将其与根 KML 文件区分开来。
有效使用网络链接的教程
https://www.google.com/earth/outreach/learn/using-network-links-effectively/
地区
A Region 会影响地标几何图形或叠加层图像的可见性。区域与 NetworkLinks 相结合,可以访问 KML 文件中的大量数据。一个区域可以选择具有最小和最大海拔高度级别过滤。
请参阅关于区域的文档,关于 "Smart" Loading of Region-Based Network Links 的部分和
关于 Regions in KML.
的教程
区域是 KML 的一项更高级的功能,因此建议您首先查看 NetworkLinks 并创建多个 kml 文件(如果有一种合乎逻辑的方法可以将您的数据分成组)。
下面是我用来将我的 CSV 文件转换为 KML 到 Google 地球专业版的代码;然而 Google 当我上传到文件时,地球专业版继续崩溃。 Google Earth Pro 无法处理 Lat Lon 坐标的数量?我在这段代码中遗漏了什么吗?我有一些超过 100,000 个坐标的 CSV 文件。试图避免此错误....
import simplekml
import pandas
df=pandas.read_csv("FILE NAME.CSV")
kml=simplekml.Kml()
for lon,lat in zip(df["Longitude"],df["Latitude"]):
kml.newpoint(coords=[(lon,lat)])
kml.save("OUTPUT.KML")
创建具有超过 100,000 个地标的 KML 可能会在 GE Pro 中出现性能问题。在您的情况下,您的 KML 文件导致 GE Pro 崩溃。
将 CSV 文件直接导入 GE Pro 是有限的,但自定义在 Python 中生成的 KML 可为您提供更多选项,帮助您根据需要定制输出。
KML 提供了使用时间、区域或高度级别过滤来控制显示哪些地图项或子 KML 文件的机制。
您需要根据您的数据特征来考虑什么是有意义的。如果您的数据在地理上分散并且您可以将数据分箱到不同的地理子区域,那么每个子区域都可以写入一个单独的 KML 文件,并且主 KML 文件可以有一个到每个子 kml 文件的网络链接但首次加载时不可见。
大型 KML 文件可以使用以下技术进行缩放:
- 网络链接
- 地区
SimpleKML 支持创建网络链接和区域。您可以使用 shapely 模块来确定一个点是否在矩形或多边形内,以将这些点分到适当的子区域。
网络链接
A NetworkLink 允许一个 KML 文件包含另一个 KML 文件。您可以在根 KML 文件中拥有任何级别的网络链接,从平面(带有网络链接的单个 KML 文件到 KMZ 中的所有其他 KML 文件)到深度(每个 KML 文件都有一个网络链接到其他 KML 文件,每个文件都有自己的网络链接) .取决于您需要如何构建 KML 以及数据的大小。
关键是 Google Earth 选择第一个 KML 作为根 KML 文件,因此您必须确保第一个文件(通常命名为 doc.kml)是加载另一个的根 KML 文件通过网络链接的 KML 文件。一个常见的结构是在“kml”子文件夹中包含额外的 KML 文件,以便在将它们打包在 KMZ 文件中时将其与根 KML 文件区分开来。
有效使用网络链接的教程
https://www.google.com/earth/outreach/learn/using-network-links-effectively/
地区
A Region 会影响地标几何图形或叠加层图像的可见性。区域与 NetworkLinks 相结合,可以访问 KML 文件中的大量数据。一个区域可以选择具有最小和最大海拔高度级别过滤。
请参阅关于区域的文档,关于 "Smart" Loading of Region-Based Network Links 的部分和 关于 Regions in KML.
的教程区域是 KML 的一项更高级的功能,因此建议您首先查看 NetworkLinks 并创建多个 kml 文件(如果有一种合乎逻辑的方法可以将您的数据分成组)。