Closed weiji14 closed 6 months ago
Wei Ji, the fact is that GMT can already read them (see gmt_ogrread.c
) but it lacks the ability to convert the data into its internal data structures. So in practice this feature is not yet accessible. Except from Julia where I do the data parsing in the Julia side.
Just following up on this because I'm working on a PR at https://github.com/GenericMappingTools/pygmt/pull/1000. What is required to convert GeoJSON (or any OGR format) data to GMT's internal data structures? I had a read through #3013 again but couldn't really understand what needs to be done.
Thought I'd give some test cases too (remove the .txt
extension after downloading):
gmt info data.gmt -C
# 0 35 0 20
gmt info data.geojson -C
# gmtinfo [ERROR]: No data columns to work with - exiting
# gmtinfo [ERROR]: Data file only has trailing text. GMT expects numerical columns followed by optional trailing text
Wei Ji, #3013 is only marginally related to support reading all the OGR formats. It's something we need if we want to keep information about geometries but we could live without it. The big issue is that the GMT IO is complicated and by GMT's internal data structures I mean having to do programming like this and below. That is, to get the data from GDAL and translate it to fill all of those Dataset->table
, Dataset->Segments
, ...
And BTW, in Julia I get this
D = gmtread("data.geojson");
plot(D, show=true)
This is a know issue that needs a more general approach.
Description of the desired feature
GeoJSON is a standard plaintext OGR format (https://gdal.org/drivers/vector/geojson.html) often used for web mapping and data interchange, and this file format is also rendered by GitHub natively (see https://docs.github.com/en/free-pro-team@latest/github/managing-files-in-a-repository/mapping-geojson-files-on-github), making it an ideal format for sharing online.
There's some action at https://github.com/GenericMappingTools/pygmt/issues/608 on integrating PyGMT with Geopandas, and being able to read GeoJSON directly into GMT
plot
would really help to simplify the coding! Currently GMT can read shapefiles (https://docs.generic-mapping-tools.org/6.1/cookbook/file-formats.html#shapefiles) via GDAL, but it would be nice to extend this to the GeoJSON format (this is a smaller scope than full OGR vector support as in #3013).Are you willing to help implement and maintain this feature? When I pick up C programming :slightly_smiling_face: