美国所有州的 iOS 覆盖(MKPolygon)数据?

Posted

技术标签:

【中文标题】美国所有州的 iOS 覆盖(MKPolygon)数据?【英文标题】:iOS overlay (MKPolygon) data for all U.S. states? 【发布时间】:2012-03-20 00:41:50 【问题描述】:

ios Developer Library 位置感知编程指南的Displaying Overlays on a Map 部分中,有一个示例“显示覆盖科罗拉多州的填充和描边覆盖”。

// Define an overlay that covers Colorado.
CLLocationCoordinate2D  points[4];

points[0] = CLLocationCoordinate2DMake(41.000512, -109.050116);
points[1] = CLLocationCoordinate2DMake(41.002371, -102.052066);
points[2] = CLLocationCoordinate2DMake(36.993076, -102.041981);
points[3] = CLLocationCoordinate2DMake(36.99892, -109.045267);

MKPolygon* poly = [MKPolygon polygonWithCoordinates:points count:4];
poly.title = @"Colorado";

[map addOverlay:poly];

问题 是否有美国所有 50 个州的坐标数据源使用相同的纬度/经度数据,并且可以随时免费获得?

【问题讨论】:

【参考方案1】:

在 Google 上搜索 us state outline geo coordinates,发现 *** 问题 Geographical boundaries of states/provinces -> Google Maps Polygon,其中有一个链接到 XML for US state polygons 的答案(科罗拉多州数据如下)。

<state name="Colorado" colour="#880000">
  <point lat="37.0004" lng="-109.0448"/>
  <point lat="36.9949" lng="-102.0424"/>
  <point lat="41.0006" lng="-102.0534"/>
  <point lat="40.9996" lng="-109.0489"/>
  <point lat="37.0004" lng="-109.0448"/>
</state>

我还找到了US State and Country border coordinates 和NationalAtlas.com, First Level Administrative Boundaries (States), United States, 2005 的链接,但这些数据看起来比我需要的要精确得多。

另一个数据源是The State Border Data Set,它链接到一个文件,其中包含“构成州边界的线段的地理坐标”(下面的科罗拉多数据)。

bordindx, st1st2, milemark, lat, long, st1, st2,
19 ,CO-NE ,0 ,40.003 ,102.051 ,08 ,31 ,
19 ,CO-NE ,68.95 ,41.002 ,102.051 ,08 ,31 ,
19 ,CO-NE ,173.19 ,41.001 ,104.053 ,08 ,31 ,
20 ,CO-NM ,0 ,36.999 ,109.044 ,08 ,35 ,
20 ,CO-NM ,333 ,37 ,103.001 ,08 ,35 ,
21 ,CO-OK ,0 ,37 ,103.001 ,08 ,40 ,
21 ,CO-OK ,52.89 ,36.993 ,102.041 ,08 ,40 ,
22 ,CO-UT ,0 ,41 ,109.049 ,08 ,49 ,
22 ,CO-UT ,276.11 ,36.999 ,109.044 ,08 ,49 ,
23 ,CO-WY ,0 ,41.001 ,104.053 ,08 ,56 ,
23 ,CO-WY ,260.18 ,41 ,109.049 ,08 ,56 ,

更新:我在 kjhsoftware/us-state-polygons github 存储库中放置了 states.xml 的精炼版本以及 Objective-C 代码。

【讨论】:

使用其中的一些,我创建了一个示例项目来执行此覆盖:github.com/HunterHillegas/MapKitUSA

以上是关于美国所有州的 iOS 覆盖(MKPolygon)数据?的主要内容,如果未能解决你的问题,请参考以下文章

俄罗斯黑客将攻击所有50个州的选举系统

所有美国州的名称缩写和县都是XML格式

是否可以在 ios 的 mapView 上集群 MKPolygon

获取给定美国州的相邻州

验证 latlong 是不是在 iOS 的 MKPolygon 内

基于美国州的重定向页面,使用 Maxmind geoip2 JS