【发布时间】:2014-05-04 01:31:01
【问题描述】:
我有从 1790 年到 1860 年每个十年的美国人口普查 shapefile。由于美国在增长,这些 shapefile 的范围是不同的。这里使用 ogrinfo -so -al 是 1790、Extent: (-94.732708, 30.355644) - (-66.949831, 48.999992) 和 1860、Extent: (-124.762578, 24.521051) - (-66.949831, 49.384358) 的范围。
我想使用topojson 的--projection 标志将这些投影到屏幕坐标。运行此命令适用于每个文件:
topojson -o us_1790.json --simplify-proportion 0.10 \
--projection 'd3.geo.albers()' \
--width 960 \
--height 500 \
--margin 10 \
-- shp/epsg4326/county_1790.shp
然后我可以在 d3 中显示地图。难点在于美国的每张地图都是居中的,也就是说1790年的美国地图和1860年的地图不对齐,以此类推。这就是我的意思:
我尝试使用--bbox 标志并将边界框设置为 1860 年的范围,但这不起作用。我还尝试寻找一种使用ogr2ogr 设置范围的方法。
如果需要,我可以在浏览器中进行投影,但我更愿意预先投影它们,以便地图尽可能快。我该怎么办?
【问题讨论】:
-
这里的关键是需要将较小的地图投影到比完整地图更小的宽度和高度。如果您假设当前美国的全部范围对应于您的全屏宽度和高度,您应该能够计算出较小部分对应的屏幕尺寸。