[PROJ] Issue with global GeoJSON in EPSG:3978
Even Rouault
even.rouault at spatialys.com
Tue Aug 18 05:43:47 PDT 2020
Louis-Philippe,
The issue is that points at lat=-90 projected to EPSG:3978 go to infinity, which causes the
reprojection issue of the whole world
You might want to add to your ogr2ogr commandline a clipping of the source to the
northerm hemisphere, before reprojecting with:
-clipsrc -180 0 180 90
-clipsrc -180 -89.999 180 90 would also work. You really want to avoid -90
Even
> I haven't digged very deep into this but I can identify at least two things
> that seem problematic to me.
>
> EPSG:3978 is only defined in Canada. It is based on NAD83, so expecting a
> global dataset to be transformed to that CRS is asking a bit much.
> > The OSM base map is reprojected corretly, but the GeoJSON is simply not
> > displayed
> Is it though? I see two occurrences of India and as far as I am aware only
> one exist in real life.
>
> I would try to find a CRS that is better suited for your particular use
> case.
>
> /Kristian
>
> From: PROJ <proj-bounces at lists.osgeo.org> On Behalf Of Rousseau Lambert2,
> Louis-Philippe (EC) Sent: 18. august 2020 13:42
> To: proj at lists.osgeo.org
> Subject: [PROJ] Issue with global GeoJSON in EPSG:3978
>
>
> Hi,
>
> I have a problem with reprojecting a global GeoJSON file with a hole over
> Canada from EPSG:4326 to EPSG:3978 (Canada Atlas Lambert).
>
> You can see my GeoJSON below in this email. The global extent is x=-180,180
> and y=-90,90
>
> I tried using:
>
> * MapServer (7.4.4)
>
> * I tried to serve the layer as WMS and display it in QGIS
> * Result: I expected the GeoJSON to be automatically cut to the
> EPSG:3978 extent and show the hole over Canada, but instead, the hole was
> displayed as the features on the map whitout the global extent.
>
> * Opening raw GeoJSON directly in QGIS (3.15.0-Master, GDAL 3.2.0dev,
> PROJ 7.2.0)
>
> * same results as MapServer in WMS
>
> * ogr2ogr (GDAL 3.0.4)
>
> * I tried to reproject the GeoJSON from EPSG:4326 to EPSG:3978
> * Result: the reprojection failed, my feature is empty
>
> * ogr2ogr -f "GeoJSON" -s_srs EPSG:4326 -t_srs EPSG:3978
> 18-3978.geojson 17-4326.geojson ERROR 1: Full reprojection failed, but
> partial is possible if you define OGR_ENABLE_PARTIAL_REPROJECTION
> configuration option to TRUE ERROR 1: Failed to reproject feature 0
> (geometry probably out of source or destination SRS). ERROR 1: Terminating
> translation prematurely after failed
> translation of layer 17-4326 (use -skipfailures to skip errors)
>
> * OpenLayers and the proj4 lib (proj4js/2.6.2/proj4.js)
>
> * Here is an example reprojecting the GeoJSON to EPSG:3978:
> https://codepen.io/rousseaulambertlp/pen/wvGGBXd
>
> * The OSM base map is reprojected corretly, but the GeoJSON is
> simply not displayed
>
> * Here is the same code, but using a non global GeoJSON with a hole,
> which works: https://codepen.io/rousseaulambertlp/pen/YzqWVBZ * But I see
> that a global WMS layer served from MapServer, works fine in this
> projection: https://codepen.io/rousseaulambertlp/pen/MWyeogM
>
> My guess is these behaviors are caused by the proj library giving I have
> issues in all the examples above ?
>
> So I wanted to know if this is expected behavior, giving I'm trying to
> display a global features on a projection with a smaller extent ? Or is
> this is bug (especially the inverted feature in QGIS) ?
>
> Any idea of work around other then clipping the data to the EPSG:3978 extent
> ?
>
> Thanks
>
> LP
>
> Here is the GeoJSON I used for example:
>
> {
> "type": "FeatureCollection",
> "crs": {
> "type": "name",
> "properties": {
> "name": "EPSG:4326"
> }
> },
> "features": [
> {
> "type": "Feature",
> "properties": {
> "name": "test"
> },
> "geometry": {
> "type": "Polygon",
> "coordinates": [
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/proj/attachments/20200818/59b89083/attachment-0001.html>
More information about the PROJ
mailing list