Back

geo - 知识大全,看这个够了, tiff, 投影 projection,笛卡尔坐标, d3等, heatmap, 制作地图

发布时间: 2021-05-06 06:35:00

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

Back