geo - 知识大全,看这个够了, tiff, 投影 projection,笛卡尔坐标, d3等, heatmap, 制作地图
访问量: 1314
TIFF
tiff: 包含了地理位置信息的文件。
下载一个包后,除了.tif 之外,可能会有 aux.xml, tif.ovr 等文件,其实 .tif是最核心的。其他的基本都可以扔掉。用arcmap 打开之后,这些都可以重新生成。
.tiff 的内容看起来是二进制,但是可以通过一些第三方的工具来读取内容。
在arcmap ( arcgis )中可以看到详情。选择好色带,就可以很好的显示了,如下: (暂时略)
如何制作一个地图
看这里:https://bost.ocks.org/mike/map/
1 需要有个 shp 文件 (shape ? )
2. 给出命令,进行转换,等到 geojson , topojson
3. 在d3 中就可以进行显示了
最新的中国地图的geojson ,包含了南海九段线
http://datav.aliyun.com/tools/atlas/#&lat=30.37018632615852&lng=106.7511347221931&zoom=3.5
包含了点击事件,省份,县。
这个系列文章很好(中文,d3 与 geo入门)
解释了投影,地图经纬度与d3的使用
https://wiki.jikexueyuan.com/project/d3wiki/chinamap.html
D3.js 如何显示
看 observablehq , 有很多例子。最最关键的,是要有 geojson, 或者topojson 文件。 d3 会根据这些json 文件实时的生成地图。
然后进行鼠标的滚轮缩放,点击事件,渲染一些点啊啥的。
d3 也可以通过加载csv 来实现对地图的改写。(例如 导入公园,或者机场的csv , tsv, geo 文件,都可以)
这是个美国地图的例子:https://observablehq.com/@d3/u-s-map
谷歌上的所有例子: 关键词 d3 heatmap on map
D3-geo: 投影: Projection, 从 某个标准 (EPSG, NAD83, NAD27 到D3投影) Mercator 墨卡托投影
项目地址: https://github.com/d3/d3-geo
定制化的地图投影:https://github.com/d3/d3-geo-projection (各种奇怪的投影,五角星等)
这个问题说的比较好:https://gis.stackexchange.com/questions/228617/converting-epsg-to-d3-js
d3中可以使用代码:
For the NAD83 version of Alabama East, the repo has:
var projection = d3.geoTransverseMercator()
.rotate([85 + 50 / 60, -30 - 30 / 60]);
The rotation is moving the center of the projection, at latitude: 30.5 deg, longitude: -85.83333333333333 deg, to 0,0 of the display. To do that we need to rotate to the right by 85.83333333333333 or (85 + 50/60) (the projection's central meridian is actually defined as -85 degrees 50 minutes).
更多更详细的投影转换,见这个答案正文
这个也是一个把普通geojson 转换到d3投影的例子:https://gis.stackexchange.com/questions/39277/how-to-create-a-geojson-that-works-with-d3
美国失业率(对不同省市进行染色)
https://observablehq.com/@d3/choropleth?collection=@d3/d3-geo
热力图:可以在图层上(应该吧)进行染色,在小方块内进行标注
https://observablehq.com/@d3/choropleth?collection=@d3/d3-geo
热力图基本功:https://www.d3-graph-gallery.com/graph/heatmap_basic.html
使用Leaflet 来创建热力图 https://stackoverflow.com/questions/19830527/using-d3-to-create-a-density-value-heatmap-layer-for-leaflet/26195019#26195019
这个是一个问答,可以参考下:貌似没看完:https://stackoverflow.com/questions/16860616/d3-overlay-heatmap-onto-a-map
在地图上标记点:(世界地图,缩放,拖拽,显示所有机场:) (貌似是关键 !!!)
机场的点: https://observablehq.com/@d3/testing-projection-visibility?collection=@d3/d3-geo
冒泡图: https://observablehq.com/@d3/bubble-map
我问的问题:
https://gis.stackexchange.com/questions/395792/extracting-data-from-tif-and-tif-ovr-files-and-applying-to-d3-js
这个被关闭了
从TIF, TIFF文件中提取 信息(点,经纬度等)
问题很好,答案不全:https://gis.stackexchange.com/questions/26516/selecting-and-extracting-data-from-tiff-files?rq=1
抽取TIFF的信息 (python语言,java, d3 ...)
https://stackoverflow.com/questions/45617233/extract-exif-data-from-tif 这里提到了tiff文件包含3大部分。第二个部分貌似有线索
https://stackoverflow.com/questions/7569553/working-with-tiffs-import-export-in-python-using-numpy 使用python读取TIFF
在D3中读取TIFF并直接显示 http://bl.ocks.org/rveciana/263b324083ece278e966686d7dba700f
用的是这个开源项目: (貌似很强大)https://github.com/geotiffjs/geotiff.js/
TIFF文件绝对是带有地理位置信息的。在arcgis中打开2个不同的文件,可以发现,在位置上的分布是不一样的(一个在西边,中东附近,一个是我国)
数据来源:能否直接从这里查找。就不需要对TIFF进行转换获取了。(这里直接有1km - 1km的坐标数据,csv格式的最好)
中国科学院资源环境科学数据中心_公里GDP数据
其他
这里有很多d3地图的例子:https://bl.ocks.org/mbostock