rgdal, PROJ6 and "+init=epsg" syntax on Jupyter/conda

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

rgdal, PROJ6 and "+init=epsg" syntax on Jupyter/conda

James Sample
Dear all,

I am trying to setup R and rgdal within a JupyterLab environment alongside
my usual Python tools. I realise this is probably an unfamiliar setup for
many, but I hope someone might be able to help nevertheless.

I'm using a Docker container based on Ubuntu 18.04 and derived from the
Jupyter Data Science Notebook (
https://github.com/jupyter/docker-stacks/tree/master/datascience-notebook).
I have Python 3.7 and R 3.6 installed, and I'm using "conda" as my package
manager.

I have successfully installed GDAL and PROJ, together with various Python
and R packages, including 'sp' and 'rgdal'. When I run

    require(rgdal)

I see the following

Loading required package: rgdal
Loading required package: sp
rgdal: version: 1.4-4, (SVN revision 833)
 Geospatial Data Abstraction Library extensions to R successfully loaded
 Loaded GDAL runtime: GDAL 2.4.2, released 2019/06/28
 Path to GDAL shared files: /opt/conda/share/gdal
 GDAL binary built with GEOS: TRUE
 Loaded PROJ.4 runtime: Rel. 6.1.0, May 15th, 2019, [PJ_VERSION: 610]
 Path to PROJ.4 shared files: (autodetected)
 Linking to sp version: 1.3-1


which seems OK. Most things work as expected, but this

    CRS("+init=epsg:3035")

gives an exception

    Error in CRS("+init=epsg:3035"): no arguments in initialization list

The same code works fine in R-Studio, although I note that my R-Studio
installation has PROJ 4.9.2 (with the same versions of rgdal and sp as
listed above). Unfortunately I can't downgrade PROJ, since some of my
Python packages require version 6.1.

I have read that rgdal is compatible with PROJ6 and I haven't been able to
find (m)any similar issues online, so I assume I'm doing something wrong.
As a workaround, this runs successfully

showP4(showWKT("+init=epsg:3035"))

But the original syntax is cleaner and I'd rather not refactor all my old
code if I can help it. Can anyone point me in the right direction, please?
Is the "+init=epsg" syntax supported with PROJ 6, or should I be using an
alternative?

Thanks and best wishes,


James.

        [[alternative HTML version deleted]]

_______________________________________________
R-sig-Geo mailing list
[hidden email]
https://stat.ethz.ch/mailman/listinfo/r-sig-geo
Reply | Threaded
Open this post in threaded view
|

Re: rgdal, PROJ6 and "+init=epsg" syntax on Jupyter/conda

edzer
On an ubuntu docker image with gdal 3.0.1 and PROJ 6.2.0, I see:

> library(rgdal)
Loading required package: sp
rgdal: version: 1.4-6, (SVN revision (unknown))
 Geospatial Data Abstraction Library extensions to R successfully loaded
 Loaded GDAL runtime: GDAL 3.0.1, released 2019/06/28
 Path to GDAL shared files:
 GDAL binary built with GEOS: FALSE
 Loaded PROJ.4 runtime: Rel. 6.2.0, September 1st, 2019, [PJ_VERSION: 620]
 Path to PROJ.4 shared files: (autodetected)
 Linking to sp version: 1.3-1
> CRS("+init=epsg:3035")
CRS arguments:
 +init=epsg:3035 +proj=laea +lat_0=52 +lon_0=10 +x_0=4321000
+y_0=3210000 +ellps=GRS80 +units=m +no_defs

but also a warning with sf:

> library(sf)
Linking to GEOS 3.7.2, GDAL 3.0.1, PROJ 6.2.0
> st_crs("+init=epsg:3035")
Coordinate Reference System:
  No EPSG code
  proj4string: "+proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000
+ellps=GRS80 +units=m +no_defs"
Warning message:
In CPL_crs_from_proj4string(x) :
  GDAL Message 1: +init=epsg:XXXX syntax is deprecated. It might return
a CRS with a non-EPSG compliant axis order.

so it feels like a combination of how PROJ has been installed, and how
it has been compiled into the R packages.


On 9/11/19 9:38 PM, James Sample wrote:

> Dear all,
>
> I am trying to setup R and rgdal within a JupyterLab environment alongside
> my usual Python tools. I realise this is probably an unfamiliar setup for
> many, but I hope someone might be able to help nevertheless.
>
> I'm using a Docker container based on Ubuntu 18.04 and derived from the
> Jupyter Data Science Notebook (
> https://github.com/jupyter/docker-stacks/tree/master/datascience-notebook).
> I have Python 3.7 and R 3.6 installed, and I'm using "conda" as my package
> manager.
>
> I have successfully installed GDAL and PROJ, together with various Python
> and R packages, including 'sp' and 'rgdal'. When I run
>
>     require(rgdal)
>
> I see the following
>
> Loading required package: rgdal
> Loading required package: sp
> rgdal: version: 1.4-4, (SVN revision 833)
>  Geospatial Data Abstraction Library extensions to R successfully loaded
>  Loaded GDAL runtime: GDAL 2.4.2, released 2019/06/28
>  Path to GDAL shared files: /opt/conda/share/gdal
>  GDAL binary built with GEOS: TRUE
>  Loaded PROJ.4 runtime: Rel. 6.1.0, May 15th, 2019, [PJ_VERSION: 610]
>  Path to PROJ.4 shared files: (autodetected)
>  Linking to sp version: 1.3-1
>
>
> which seems OK. Most things work as expected, but this
>
>     CRS("+init=epsg:3035")
>
> gives an exception
>
>     Error in CRS("+init=epsg:3035"): no arguments in initialization list
>
> The same code works fine in R-Studio, although I note that my R-Studio
> installation has PROJ 4.9.2 (with the same versions of rgdal and sp as
> listed above). Unfortunately I can't downgrade PROJ, since some of my
> Python packages require version 6.1.
>
> I have read that rgdal is compatible with PROJ6 and I haven't been able to
> find (m)any similar issues online, so I assume I'm doing something wrong.
> As a workaround, this runs successfully
>
> showP4(showWKT("+init=epsg:3035"))
>
> But the original syntax is cleaner and I'd rather not refactor all my old
> code if I can help it. Can anyone point me in the right direction, please?
> Is the "+init=epsg" syntax supported with PROJ 6, or should I be using an
> alternative?
>
> Thanks and best wishes,
>
>
> James.
>
> [[alternative HTML version deleted]]
>
> _______________________________________________
> R-sig-Geo mailing list
> [hidden email]
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>
--
Edzer Pebesma
Institute for Geoinformatics
Heisenbergstrasse 2, 48151 Muenster, Germany
Phone: +49 251 8333081

_______________________________________________
R-sig-Geo mailing list
[hidden email]
https://stat.ethz.ch/mailman/listinfo/r-sig-geo

pEpkey.asc (3K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: rgdal, PROJ6 and "+init=epsg" syntax on Jupyter/conda

James Sample
Thanks Edzer - that's very helpful!

Would it be possible for you to link/share your Ubuntu Dockerfile, please?
(I completely understand if you'd rather not, of course).

Perhaps if I can see how you're setting thing up in Ubuntu I can modify my
Jupyter Dockerfile accordingly, and if I can convince myself that this is a
actually conda-forge/build issue (rather than my own mistake) I can open an
issue on the conda r-rgdal feedstock (
https://github.com/conda-forge/r-rgdal-feedstock).

Thanks again for your help!

Best wishes,


James.



On Wed, 11 Sep 2019 at 23:10, Edzer Pebesma <[hidden email]>
wrote:

> On an ubuntu docker image with gdal 3.0.1 and PROJ 6.2.0, I see:
>
> > library(rgdal)
> Loading required package: sp
> rgdal: version: 1.4-6, (SVN revision (unknown))
>  Geospatial Data Abstraction Library extensions to R successfully loaded
>  Loaded GDAL runtime: GDAL 3.0.1, released 2019/06/28
>  Path to GDAL shared files:
>  GDAL binary built with GEOS: FALSE
>  Loaded PROJ.4 runtime: Rel. 6.2.0, September 1st, 2019, [PJ_VERSION: 620]
>  Path to PROJ.4 shared files: (autodetected)
>  Linking to sp version: 1.3-1
> > CRS("+init=epsg:3035")
> CRS arguments:
>  +init=epsg:3035 +proj=laea +lat_0=52 +lon_0=10 +x_0=4321000
> +y_0=3210000 +ellps=GRS80 +units=m +no_defs
>
> but also a warning with sf:
>
> > library(sf)
> Linking to GEOS 3.7.2, GDAL 3.0.1, PROJ 6.2.0
> > st_crs("+init=epsg:3035")
> Coordinate Reference System:
>   No EPSG code
>   proj4string: "+proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000
> +ellps=GRS80 +units=m +no_defs"
> Warning message:
> In CPL_crs_from_proj4string(x) :
>   GDAL Message 1: +init=epsg:XXXX syntax is deprecated. It might return
> a CRS with a non-EPSG compliant axis order.
>
> so it feels like a combination of how PROJ has been installed, and how
> it has been compiled into the R packages.
>
>
> On 9/11/19 9:38 PM, James Sample wrote:
> > Dear all,
> >
> > I am trying to setup R and rgdal within a JupyterLab environment
> alongside
> > my usual Python tools. I realise this is probably an unfamiliar setup for
> > many, but I hope someone might be able to help nevertheless.
> >
> > I'm using a Docker container based on Ubuntu 18.04 and derived from the
> > Jupyter Data Science Notebook (
> >
> https://github.com/jupyter/docker-stacks/tree/master/datascience-notebook
> ).
> > I have Python 3.7 and R 3.6 installed, and I'm using "conda" as my
> package
> > manager.
> >
> > I have successfully installed GDAL and PROJ, together with various Python
> > and R packages, including 'sp' and 'rgdal'. When I run
> >
> >     require(rgdal)
> >
> > I see the following
> >
> > Loading required package: rgdal
> > Loading required package: sp
> > rgdal: version: 1.4-4, (SVN revision 833)
> >  Geospatial Data Abstraction Library extensions to R successfully loaded
> >  Loaded GDAL runtime: GDAL 2.4.2, released 2019/06/28
> >  Path to GDAL shared files: /opt/conda/share/gdal
> >  GDAL binary built with GEOS: TRUE
> >  Loaded PROJ.4 runtime: Rel. 6.1.0, May 15th, 2019, [PJ_VERSION: 610]
> >  Path to PROJ.4 shared files: (autodetected)
> >  Linking to sp version: 1.3-1
> >
> >
> > which seems OK. Most things work as expected, but this
> >
> >     CRS("+init=epsg:3035")
> >
> > gives an exception
> >
> >     Error in CRS("+init=epsg:3035"): no arguments in initialization list
> >
> > The same code works fine in R-Studio, although I note that my R-Studio
> > installation has PROJ 4.9.2 (with the same versions of rgdal and sp as
> > listed above). Unfortunately I can't downgrade PROJ, since some of my
> > Python packages require version 6.1.
> >
> > I have read that rgdal is compatible with PROJ6 and I haven't been able
> to
> > find (m)any similar issues online, so I assume I'm doing something wrong.
> > As a workaround, this runs successfully
> >
> > showP4(showWKT("+init=epsg:3035"))
> >
> > But the original syntax is cleaner and I'd rather not refactor all my old
> > code if I can help it. Can anyone point me in the right direction,
> please?
> > Is the "+init=epsg" syntax supported with PROJ 6, or should I be using an
> > alternative?
> >
> > Thanks and best wishes,
> >
> >
> > James.
> >
> >       [[alternative HTML version deleted]]
> >
> > _______________________________________________
> > R-sig-Geo mailing list
> > [hidden email]
> > https://stat.ethz.ch/mailman/listinfo/r-sig-geo
> >
>
> --
> Edzer Pebesma
> Institute for Geoinformatics
> Heisenbergstrasse 2, 48151 Muenster, Germany
> Phone: +49 251 8333081
> _______________________________________________
> R-sig-Geo mailing list
> [hidden email]
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>

        [[alternative HTML version deleted]]

_______________________________________________
R-sig-Geo mailing list
[hidden email]
https://stat.ethz.ch/mailman/listinfo/r-sig-geo
Reply | Threaded
Open this post in threaded view
|

Re: rgdal, PROJ6 and "+init=epsg" syntax on Jupyter/conda

edzer


On 9/12/19 10:55 AM, James Sample wrote:
> Thanks Edzer - that's very helpful!
>
> Would it be possible for you to link/share your Ubuntu Dockerfile, please?
> (I completely understand if you'd rather not, of course).

https://github.com/r-spatial/sf/tree/master/inst/docker/gdal

>
> Perhaps if I can see how you're setting thing up in Ubuntu I can modify my
> Jupyter Dockerfile accordingly, and if I can convince myself that this is a
> actually conda-forge/build issue (rather than my own mistake) I can open an
> issue on the conda r-rgdal feedstock (
> https://github.com/conda-forge/r-rgdal-feedstock).

Great, please also report back here!

>
> Thanks again for your help!
>
> Best wishes,
>
>
> James.
>
>
>
> On Wed, 11 Sep 2019 at 23:10, Edzer Pebesma <[hidden email]>
> wrote:
>
>> On an ubuntu docker image with gdal 3.0.1 and PROJ 6.2.0, I see:
>>
>>> library(rgdal)
>> Loading required package: sp
>> rgdal: version: 1.4-6, (SVN revision (unknown))
>>  Geospatial Data Abstraction Library extensions to R successfully loaded
>>  Loaded GDAL runtime: GDAL 3.0.1, released 2019/06/28
>>  Path to GDAL shared files:
>>  GDAL binary built with GEOS: FALSE
>>  Loaded PROJ.4 runtime: Rel. 6.2.0, September 1st, 2019, [PJ_VERSION: 620]
>>  Path to PROJ.4 shared files: (autodetected)
>>  Linking to sp version: 1.3-1
>>> CRS("+init=epsg:3035")
>> CRS arguments:
>>  +init=epsg:3035 +proj=laea +lat_0=52 +lon_0=10 +x_0=4321000
>> +y_0=3210000 +ellps=GRS80 +units=m +no_defs
>>
>> but also a warning with sf:
>>
>>> library(sf)
>> Linking to GEOS 3.7.2, GDAL 3.0.1, PROJ 6.2.0
>>> st_crs("+init=epsg:3035")
>> Coordinate Reference System:
>>   No EPSG code
>>   proj4string: "+proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000
>> +ellps=GRS80 +units=m +no_defs"
>> Warning message:
>> In CPL_crs_from_proj4string(x) :
>>   GDAL Message 1: +init=epsg:XXXX syntax is deprecated. It might return
>> a CRS with a non-EPSG compliant axis order.
>>
>> so it feels like a combination of how PROJ has been installed, and how
>> it has been compiled into the R packages.
>>
>>
>> On 9/11/19 9:38 PM, James Sample wrote:
>>> Dear all,
>>>
>>> I am trying to setup R and rgdal within a JupyterLab environment
>> alongside
>>> my usual Python tools. I realise this is probably an unfamiliar setup for
>>> many, but I hope someone might be able to help nevertheless.
>>>
>>> I'm using a Docker container based on Ubuntu 18.04 and derived from the
>>> Jupyter Data Science Notebook (
>>>
>> https://github.com/jupyter/docker-stacks/tree/master/datascience-notebook
>> ).
>>> I have Python 3.7 and R 3.6 installed, and I'm using "conda" as my
>> package
>>> manager.
>>>
>>> I have successfully installed GDAL and PROJ, together with various Python
>>> and R packages, including 'sp' and 'rgdal'. When I run
>>>
>>>     require(rgdal)
>>>
>>> I see the following
>>>
>>> Loading required package: rgdal
>>> Loading required package: sp
>>> rgdal: version: 1.4-4, (SVN revision 833)
>>>  Geospatial Data Abstraction Library extensions to R successfully loaded
>>>  Loaded GDAL runtime: GDAL 2.4.2, released 2019/06/28
>>>  Path to GDAL shared files: /opt/conda/share/gdal
>>>  GDAL binary built with GEOS: TRUE
>>>  Loaded PROJ.4 runtime: Rel. 6.1.0, May 15th, 2019, [PJ_VERSION: 610]
>>>  Path to PROJ.4 shared files: (autodetected)
>>>  Linking to sp version: 1.3-1
>>>
>>>
>>> which seems OK. Most things work as expected, but this
>>>
>>>     CRS("+init=epsg:3035")
>>>
>>> gives an exception
>>>
>>>     Error in CRS("+init=epsg:3035"): no arguments in initialization list
>>>
>>> The same code works fine in R-Studio, although I note that my R-Studio
>>> installation has PROJ 4.9.2 (with the same versions of rgdal and sp as
>>> listed above). Unfortunately I can't downgrade PROJ, since some of my
>>> Python packages require version 6.1.
>>>
>>> I have read that rgdal is compatible with PROJ6 and I haven't been able
>> to
>>> find (m)any similar issues online, so I assume I'm doing something wrong.
>>> As a workaround, this runs successfully
>>>
>>> showP4(showWKT("+init=epsg:3035"))
>>>
>>> But the original syntax is cleaner and I'd rather not refactor all my old
>>> code if I can help it. Can anyone point me in the right direction,
>> please?
>>> Is the "+init=epsg" syntax supported with PROJ 6, or should I be using an
>>> alternative?
>>>
>>> Thanks and best wishes,
>>>
>>>
>>> James.
>>>
>>>       [[alternative HTML version deleted]]
>>>
>>> _______________________________________________
>>> R-sig-Geo mailing list
>>> [hidden email]
>>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>>>
>>
>> --
>> Edzer Pebesma
>> Institute for Geoinformatics
>> Heisenbergstrasse 2, 48151 Muenster, Germany
>> Phone: +49 251 8333081
>> _______________________________________________
>> R-sig-Geo mailing list
>> [hidden email]
>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>>
>
> [[alternative HTML version deleted]]
>
> _______________________________________________
> R-sig-Geo mailing list
> [hidden email]
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>
--
Edzer Pebesma
Institute for Geoinformatics
Heisenbergstrasse 2, 48151 Muenster, Germany
Phone: +49 251 8333081

_______________________________________________
R-sig-Geo mailing list
[hidden email]
https://stat.ethz.ch/mailman/listinfo/r-sig-geo

pEpkey.asc (3K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: rgdal, PROJ6 and "+init=epsg" syntax on Jupyter/conda

edzer
CRAN, btw, reports similar errors on all debian testing platforms, of
the kind

    > st_crs("+init=epsg:3857")$epsg
    proj_create: init=epsg:/init=IGNF: syntax not supported in non-PROJ4
emulation mode

see
https://cran.r-project.org/web/checks/check_results_edzer.pebesma_at_uni-muenster.de.html#sf

I failed to reproduce these because I can't build the CRAN debian
testing docker image from https://github.com/jeroen/rcheckserver ,
reported here: https://github.com/jeroen/rcheckserver/issues/2

I would appreciate any help here.

On 9/12/19 11:08 AM, Edzer Pebesma wrote:

>
>
> On 9/12/19 10:55 AM, James Sample wrote:
>> Thanks Edzer - that's very helpful!
>>
>> Would it be possible for you to link/share your Ubuntu Dockerfile, please?
>> (I completely understand if you'd rather not, of course).
>
> https://github.com/r-spatial/sf/tree/master/inst/docker/gdal
>
>>
>> Perhaps if I can see how you're setting thing up in Ubuntu I can modify my
>> Jupyter Dockerfile accordingly, and if I can convince myself that this is a
>> actually conda-forge/build issue (rather than my own mistake) I can open an
>> issue on the conda r-rgdal feedstock (
>> https://github.com/conda-forge/r-rgdal-feedstock).
>
> Great, please also report back here!
>
>>
>> Thanks again for your help!
>>
>> Best wishes,
>>
>>
>> James.
>>
>>
>>
>> On Wed, 11 Sep 2019 at 23:10, Edzer Pebesma <[hidden email]>
>> wrote:
>>
>>> On an ubuntu docker image with gdal 3.0.1 and PROJ 6.2.0, I see:
>>>
>>>> library(rgdal)
>>> Loading required package: sp
>>> rgdal: version: 1.4-6, (SVN revision (unknown))
>>>  Geospatial Data Abstraction Library extensions to R successfully loaded
>>>  Loaded GDAL runtime: GDAL 3.0.1, released 2019/06/28
>>>  Path to GDAL shared files:
>>>  GDAL binary built with GEOS: FALSE
>>>  Loaded PROJ.4 runtime: Rel. 6.2.0, September 1st, 2019, [PJ_VERSION: 620]
>>>  Path to PROJ.4 shared files: (autodetected)
>>>  Linking to sp version: 1.3-1
>>>> CRS("+init=epsg:3035")
>>> CRS arguments:
>>>  +init=epsg:3035 +proj=laea +lat_0=52 +lon_0=10 +x_0=4321000
>>> +y_0=3210000 +ellps=GRS80 +units=m +no_defs
>>>
>>> but also a warning with sf:
>>>
>>>> library(sf)
>>> Linking to GEOS 3.7.2, GDAL 3.0.1, PROJ 6.2.0
>>>> st_crs("+init=epsg:3035")
>>> Coordinate Reference System:
>>>   No EPSG code
>>>   proj4string: "+proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000
>>> +ellps=GRS80 +units=m +no_defs"
>>> Warning message:
>>> In CPL_crs_from_proj4string(x) :
>>>   GDAL Message 1: +init=epsg:XXXX syntax is deprecated. It might return
>>> a CRS with a non-EPSG compliant axis order.
>>>
>>> so it feels like a combination of how PROJ has been installed, and how
>>> it has been compiled into the R packages.
>>>
>>>
>>> On 9/11/19 9:38 PM, James Sample wrote:
>>>> Dear all,
>>>>
>>>> I am trying to setup R and rgdal within a JupyterLab environment
>>> alongside
>>>> my usual Python tools. I realise this is probably an unfamiliar setup for
>>>> many, but I hope someone might be able to help nevertheless.
>>>>
>>>> I'm using a Docker container based on Ubuntu 18.04 and derived from the
>>>> Jupyter Data Science Notebook (
>>>>
>>> https://github.com/jupyter/docker-stacks/tree/master/datascience-notebook
>>> ).
>>>> I have Python 3.7 and R 3.6 installed, and I'm using "conda" as my
>>> package
>>>> manager.
>>>>
>>>> I have successfully installed GDAL and PROJ, together with various Python
>>>> and R packages, including 'sp' and 'rgdal'. When I run
>>>>
>>>>     require(rgdal)
>>>>
>>>> I see the following
>>>>
>>>> Loading required package: rgdal
>>>> Loading required package: sp
>>>> rgdal: version: 1.4-4, (SVN revision 833)
>>>>  Geospatial Data Abstraction Library extensions to R successfully loaded
>>>>  Loaded GDAL runtime: GDAL 2.4.2, released 2019/06/28
>>>>  Path to GDAL shared files: /opt/conda/share/gdal
>>>>  GDAL binary built with GEOS: TRUE
>>>>  Loaded PROJ.4 runtime: Rel. 6.1.0, May 15th, 2019, [PJ_VERSION: 610]
>>>>  Path to PROJ.4 shared files: (autodetected)
>>>>  Linking to sp version: 1.3-1
>>>>
>>>>
>>>> which seems OK. Most things work as expected, but this
>>>>
>>>>     CRS("+init=epsg:3035")
>>>>
>>>> gives an exception
>>>>
>>>>     Error in CRS("+init=epsg:3035"): no arguments in initialization list
>>>>
>>>> The same code works fine in R-Studio, although I note that my R-Studio
>>>> installation has PROJ 4.9.2 (with the same versions of rgdal and sp as
>>>> listed above). Unfortunately I can't downgrade PROJ, since some of my
>>>> Python packages require version 6.1.
>>>>
>>>> I have read that rgdal is compatible with PROJ6 and I haven't been able
>>> to
>>>> find (m)any similar issues online, so I assume I'm doing something wrong.
>>>> As a workaround, this runs successfully
>>>>
>>>> showP4(showWKT("+init=epsg:3035"))
>>>>
>>>> But the original syntax is cleaner and I'd rather not refactor all my old
>>>> code if I can help it. Can anyone point me in the right direction,
>>> please?
>>>> Is the "+init=epsg" syntax supported with PROJ 6, or should I be using an
>>>> alternative?
>>>>
>>>> Thanks and best wishes,
>>>>
>>>>
>>>> James.
>>>>
>>>>       [[alternative HTML version deleted]]
>>>>
>>>> _______________________________________________
>>>> R-sig-Geo mailing list
>>>> [hidden email]
>>>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>>>>
>>>
>>> --
>>> Edzer Pebesma
>>> Institute for Geoinformatics
>>> Heisenbergstrasse 2, 48151 Muenster, Germany
>>> Phone: +49 251 8333081
>>> _______________________________________________
>>> R-sig-Geo mailing list
>>> [hidden email]
>>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>>>
>>
>> [[alternative HTML version deleted]]
>>
>> _______________________________________________
>> R-sig-Geo mailing list
>> [hidden email]
>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>>
>
>
> _______________________________________________
> R-sig-Geo mailing list
> [hidden email]
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>
--
Edzer Pebesma
Institute for Geoinformatics
Heisenbergstrasse 2, 48151 Muenster, Germany
Phone: +49 251 8333081

_______________________________________________
R-sig-Geo mailing list
[hidden email]
https://stat.ethz.ch/mailman/listinfo/r-sig-geo

pEpkey.asc (3K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: rgdal, PROJ6 and "+init=epsg" syntax on Jupyter/conda

James Sample
After going round in circles most of the day, I finally discovered that the
PROJ_LIB environment variable within my Dockerfile did not match my conda
environment. When I loaded rgdal I saw

    Path to PROJ.4 shared files: (autodetected)

in the output and assumed all was OK, but having explicitly set the
environment variable I now see

    Path to PROJ.4 shared files: /opt/conda/share/proj

and everything works as expected.

On a related note, some of my Python code also has started to give errors
similar to those reported by Edzer e.g.

init=epsg:/init=IGNF: syntax not supported in non-PROJ4 emulation mode

I suspect these issues probably *are *caused by API changes in PROJ6, but
my original issue is unrelated and was due to incorrect paths in my
conda/Docker environment.

Thanks for your help, Edzer! I look forward to working more with R spatial
tools in the future :-)


James.

On Thu, 12 Sep 2019 at 12:30, Edzer Pebesma <[hidden email]>
wrote:

> CRAN, btw, reports similar errors on all debian testing platforms, of
> the kind
>
>     > st_crs("+init=epsg:3857")$epsg
>     proj_create: init=epsg:/init=IGNF: syntax not supported in non-PROJ4
> emulation mode
>
> see
>
> https://cran.r-project.org/web/checks/check_results_edzer.pebesma_at_uni-muenster.de.html#sf
>
> I failed to reproduce these because I can't build the CRAN debian
> testing docker image from https://github.com/jeroen/rcheckserver ,
> reported here: https://github.com/jeroen/rcheckserver/issues/2
>
> I would appreciate any help here.
>
> On 9/12/19 11:08 AM, Edzer Pebesma wrote:
> >
> >
> > On 9/12/19 10:55 AM, James Sample wrote:
> >> Thanks Edzer - that's very helpful!
> >>
> >> Would it be possible for you to link/share your Ubuntu Dockerfile,
> please?
> >> (I completely understand if you'd rather not, of course).
> >
> > https://github.com/r-spatial/sf/tree/master/inst/docker/gdal
> >
> >>
> >> Perhaps if I can see how you're setting thing up in Ubuntu I can modify
> my
> >> Jupyter Dockerfile accordingly, and if I can convince myself that this
> is a
> >> actually conda-forge/build issue (rather than my own mistake) I can
> open an
> >> issue on the conda r-rgdal feedstock (
> >> https://github.com/conda-forge/r-rgdal-feedstock).
> >
> > Great, please also report back here!
> >
> >>
> >> Thanks again for your help!
> >>
> >> Best wishes,
> >>
> >>
> >> James.
> >>
> >>
> >>
> >> On Wed, 11 Sep 2019 at 23:10, Edzer Pebesma <
> [hidden email]>
> >> wrote:
> >>
> >>> On an ubuntu docker image with gdal 3.0.1 and PROJ 6.2.0, I see:
> >>>
> >>>> library(rgdal)
> >>> Loading required package: sp
> >>> rgdal: version: 1.4-6, (SVN revision (unknown))
> >>>  Geospatial Data Abstraction Library extensions to R successfully
> loaded
> >>>  Loaded GDAL runtime: GDAL 3.0.1, released 2019/06/28
> >>>  Path to GDAL shared files:
> >>>  GDAL binary built with GEOS: FALSE
> >>>  Loaded PROJ.4 runtime: Rel. 6.2.0, September 1st, 2019, [PJ_VERSION:
> 620]
> >>>  Path to PROJ.4 shared files: (autodetected)
> >>>  Linking to sp version: 1.3-1
> >>>> CRS("+init=epsg:3035")
> >>> CRS arguments:
> >>>  +init=epsg:3035 +proj=laea +lat_0=52 +lon_0=10 +x_0=4321000
> >>> +y_0=3210000 +ellps=GRS80 +units=m +no_defs
> >>>
> >>> but also a warning with sf:
> >>>
> >>>> library(sf)
> >>> Linking to GEOS 3.7.2, GDAL 3.0.1, PROJ 6.2.0
> >>>> st_crs("+init=epsg:3035")
> >>> Coordinate Reference System:
> >>>   No EPSG code
> >>>   proj4string: "+proj=laea +lat_0=52 +lon_0=10 +x_0=4321000
> +y_0=3210000
> >>> +ellps=GRS80 +units=m +no_defs"
> >>> Warning message:
> >>> In CPL_crs_from_proj4string(x) :
> >>>   GDAL Message 1: +init=epsg:XXXX syntax is deprecated. It might return
> >>> a CRS with a non-EPSG compliant axis order.
> >>>
> >>> so it feels like a combination of how PROJ has been installed, and how
> >>> it has been compiled into the R packages.
> >>>
> >>>
> >>> On 9/11/19 9:38 PM, James Sample wrote:
> >>>> Dear all,
> >>>>
> >>>> I am trying to setup R and rgdal within a JupyterLab environment
> >>> alongside
> >>>> my usual Python tools. I realise this is probably an unfamiliar setup
> for
> >>>> many, but I hope someone might be able to help nevertheless.
> >>>>
> >>>> I'm using a Docker container based on Ubuntu 18.04 and derived from
> the
> >>>> Jupyter Data Science Notebook (
> >>>>
> >>>
> https://github.com/jupyter/docker-stacks/tree/master/datascience-notebook
> >>> ).
> >>>> I have Python 3.7 and R 3.6 installed, and I'm using "conda" as my
> >>> package
> >>>> manager.
> >>>>
> >>>> I have successfully installed GDAL and PROJ, together with various
> Python
> >>>> and R packages, including 'sp' and 'rgdal'. When I run
> >>>>
> >>>>     require(rgdal)
> >>>>
> >>>> I see the following
> >>>>
> >>>> Loading required package: rgdal
> >>>> Loading required package: sp
> >>>> rgdal: version: 1.4-4, (SVN revision 833)
> >>>>  Geospatial Data Abstraction Library extensions to R successfully
> loaded
> >>>>  Loaded GDAL runtime: GDAL 2.4.2, released 2019/06/28
> >>>>  Path to GDAL shared files: /opt/conda/share/gdal
> >>>>  GDAL binary built with GEOS: TRUE
> >>>>  Loaded PROJ.4 runtime: Rel. 6.1.0, May 15th, 2019, [PJ_VERSION: 610]
> >>>>  Path to PROJ.4 shared files: (autodetected)
> >>>>  Linking to sp version: 1.3-1
> >>>>
> >>>>
> >>>> which seems OK. Most things work as expected, but this
> >>>>
> >>>>     CRS("+init=epsg:3035")
> >>>>
> >>>> gives an exception
> >>>>
> >>>>     Error in CRS("+init=epsg:3035"): no arguments in initialization
> list
> >>>>
> >>>> The same code works fine in R-Studio, although I note that my R-Studio
> >>>> installation has PROJ 4.9.2 (with the same versions of rgdal and sp as
> >>>> listed above). Unfortunately I can't downgrade PROJ, since some of my
> >>>> Python packages require version 6.1.
> >>>>
> >>>> I have read that rgdal is compatible with PROJ6 and I haven't been
> able
> >>> to
> >>>> find (m)any similar issues online, so I assume I'm doing something
> wrong.
> >>>> As a workaround, this runs successfully
> >>>>
> >>>> showP4(showWKT("+init=epsg:3035"))
> >>>>
> >>>> But the original syntax is cleaner and I'd rather not refactor all my
> old
> >>>> code if I can help it. Can anyone point me in the right direction,
> >>> please?
> >>>> Is the "+init=epsg" syntax supported with PROJ 6, or should I be
> using an
> >>>> alternative?
> >>>>
> >>>> Thanks and best wishes,
> >>>>
> >>>>
> >>>> James.
> >>>>
> >>>>       [[alternative HTML version deleted]]
> >>>>
> >>>> _______________________________________________
> >>>> R-sig-Geo mailing list
> >>>> [hidden email]
> >>>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
> >>>>
> >>>
> >>> --
> >>> Edzer Pebesma
> >>> Institute for Geoinformatics
> >>> Heisenbergstrasse 2, 48151 Muenster, Germany
> >>> Phone: +49 251 8333081
> >>> _______________________________________________
> >>> R-sig-Geo mailing list
> >>> [hidden email]
> >>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
> >>>
> >>
> >>      [[alternative HTML version deleted]]
> >>
> >> _______________________________________________
> >> R-sig-Geo mailing list
> >> [hidden email]
> >> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
> >>
> >
> >
> > _______________________________________________
> > R-sig-Geo mailing list
> > [hidden email]
> > https://stat.ethz.ch/mailman/listinfo/r-sig-geo
> >
>
> --
> Edzer Pebesma
> Institute for Geoinformatics
> Heisenbergstrasse 2, 48151 Muenster, Germany
> Phone: +49 251 8333081
> _______________________________________________
> R-sig-Geo mailing list
> [hidden email]
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>

        [[alternative HTML version deleted]]

_______________________________________________
R-sig-Geo mailing list
[hidden email]
https://stat.ethz.ch/mailman/listinfo/r-sig-geo