【问题标题】:Custom map with Highmaps adding mappoint series in latitude and longitude using proj4js使用 proj4js 添加经纬度地图点系列的 Highmaps 自定义地图
【发布时间】:2016-09-27 22:39:10
【问题描述】:

我正在尝试使用 Highmaps 创建地图。 数据来自两个 GeoJson 格式的数据源,一个用于国家边界,另一个用于显示部分城市。

边界完美显示,但是当我使用它们的纬度和经度添加点(城市)时出现问题。

由于 Highmaps 使用自定义投影,所有点都放置在错误的位置或根本不显示。 遵循此处的文档:http://www.highcharts.com/docs/maps/latlon 我正在尝试在边界的 geojson 中添加 hc-transform,但我没有运气。

有人知道如何在 crs 中编写 proj4 字符串格式以便在 highmaps 上工作吗?

当我一一显示所有国家时,我想知道是否必须为每个国家/地区配置自定义 crs(我的意思是各个国家/地区不同,还是整个世界投影都相同?)

我使用 WGS84 作为坐标系统

【问题讨论】:

    标签: javascript highcharts gis highmaps proj4js


    【解决方案1】:

    我没有使用 highchart 开发过任何东西。从他们的网站上,我认为它正在使用 proj4 来处理投影。所以这里有一些例子:

      var wgs84= "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs";
    

    不确定为什么要为每个国家/地区定制 crs。所以我假设你要进行一些空间分析。在这种情况下,即使您只想计算面积或距离,UTM 也会更适合您。

    var utm = "+proj=utm +ellps=GRS80 +datum=nad83 +units=m +zone="+ getUTMZone(lon).toString(); 
    

    我的例子是在 NAD83 中,根据您对感兴趣的国家/地区的需求进行修改。

    确保您的底图和数据点在同一个投影坐标系中,以避免定位错误。

    【讨论】:

    • 在 GeoJSON 文件中添加 "hc - transform": {"default": {"crs": " + proj = longlat + ellps = WGS84 + datum = WGS84 + no_defs"}} 完成了让它与 Highmaps 一起工作的技巧。我正在考虑为每个国家/地区添加自定义 CRS,因为我认为范围也是必要的,但只需要投影。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多