Open fredfox1 opened 2 years ago
Can you please post the output of g.proj -w
in that mapset you want to export data from?
I opened the mapset "world_borders" and ran:
GRASS 7.8.6 (WGS84):~ > g.proj -w
BOUNDCRS[
SOURCECRS[
GEOGCRS["wgs84",
DATUM["World Geodetic System 1984",
ELLIPSOID["WGS_1984",6378137,298.257223563,
LENGTHUNIT["metre",1,
ID["EPSG",9001]]]],
PRIMEM["Greenwich",0,
ANGLEUNIT["degree",0.0174532925199433],
ID["EPSG",8901]],
CS[ellipsoidal,2],
AXIS["longitude",east,
ORDER[1],
ANGLEUNIT["degree",0.0174532925199433,
ID["EPSG",9122]]],
AXIS["latitude",north,
ORDER[2],
ANGLEUNIT["degree",0.0174532925199433,
ID["EPSG",9122]]]]],
TARGETCRS[
GEOGCRS["WGS 84",
DATUM["World Geodetic System 1984",
ELLIPSOID["WGS 84",6378137,298.257223563,
LENGTHUNIT["metre",1]]],
PRIMEM["Greenwich",0,
ANGLEUNIT["degree",0.0174532925199433]],
CS[ellipsoidal,2],
AXIS["latitude",north,
ORDER[1],
ANGLEUNIT["degree",0.0174532925199433]],
AXIS["longitude",east,
ORDER[2],
ANGLEUNIT["degree",0.0174532925199433]],
ID["EPSG",4326]]],
ABRIDGEDTRANSFORMATION["Transformation from wgs84 to WGS84",
METHOD["Position Vector transformation (geog2D domain)",
ID["EPSG",9606]],
PARAMETER["X-axis translation",0,
ID["EPSG",8605]],
PARAMETER["Y-axis translation",0,
ID["EPSG",8606]],
PARAMETER["Z-axis translation",0,
ID["EPSG",8607]],
PARAMETER["X-axis rotation",0,
ID["EPSG",8608]],
PARAMETER["Y-axis rotation",0,
ID["EPSG",8609]],
PARAMETER["Z-axis rotation",0,
ID["EPSG",8610]],
PARAMETER["Scale difference",1,
ID["EPSG",8611]]]]
I also faced a similar situation with the module. Here are some information that cloud help understanding the bug:
v.out.ogr input=moz_admbnda_adm1_ine_20190607@PERMANENT output=/home/amit/tmp/moz_adm.gpkg format=GPKG
ERROR 10: Pointer 'hSRS' is NULL in 'OSRImportFromWkt'.
ERROR: Unable to create OGR spatial reference
version=8.0.1
date=2022
revision=exported
build_date=2022-02-24
build_platform=x86_64-redhat-linux-gnu
build_off_t_size=8
libgis_revision=2022-02-24T22:29:01+00:00
libgis_date=2022-02-24T22:29:01+00:00
proj=8.2.1
gdal=3.4.1
geos=3.10.2
sqlite=3.36.0
I created the location using the following proj string
+proj=aea +lat_1=20 +lat_2=-23 +lat_0=0 +lon_0=25 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs
g.proj -p
and g.proj -w
return the following information
g.proj -p
-PROJ_INFO-------------------------------------------------
name : unknown
datum : wgs84
ellps : wgs84
proj : aea
lat_0 : 0
lon_0 : 25
lat_1 : 20
lat_2 : -23
x_0 : 0
y_0 : 0
no_defs : defined
towgs84 : 0.000,0.000,0.000
-PROJ_UNITS------------------------------------------------
unit : meter
units : meters
meters : 1
g.proj -w
BOUNDCRS[
SOURCECRS[
PROJCRS["unknown",
BASEGEOGCRS["wgs84",
DATUM["World Geodetic System 1984",
ELLIPSOID["WGS_1984",6378137,298.257223563,
LENGTHUNIT["metre",1,
ID["EPSG",9001]]]],
PRIMEM["Greenwich",0,
ANGLEUNIT["degree",0.0174532925199433],
ID["EPSG",8901]]],
CONVERSION["unnamed",
METHOD["Albers Equal Area",
ID["EPSG",9822]],
PARAMETER["Latitude of false origin",0,
ANGLEUNIT["degree",0.0174532925199433],
ID["EPSG",8821]],
PARAMETER["Longitude of false origin",25,
ANGLEUNIT["degree",0.0174532925199433],
ID["EPSG",8822]],
PARAMETER["Latitude of 1st standard parallel",20,
ANGLEUNIT["degree",0.0174532925199433],
ID["EPSG",8823]],
PARAMETER["Latitude of 2nd standard parallel",-23,
ANGLEUNIT["degree",0.0174532925199433],
ID["EPSG",8824]],
PARAMETER["Easting at false origin",0,
LENGTHUNIT["metre",1],
ID["EPSG",8826]],
PARAMETER["Northing at false origin",0,
LENGTHUNIT["metre",1],
ID["EPSG",8827]]],
CS[Cartesian,2],
AXIS["easting",east,
ORDER[1],
LENGTHUNIT["metre",1,
ID["EPSG",9001]]],
AXIS["northing",north,
ORDER[2],
LENGTHUNIT["metre",1,
ID["EPSG",9001]]]]],
TARGETCRS[
GEOGCRS["WGS 84",
DATUM["World Geodetic System 1984",
ELLIPSOID["WGS 84",6378137,298.257223563,
LENGTHUNIT["metre",1]]],
PRIMEM["Greenwich",0,
ANGLEUNIT["degree",0.0174532925199433]],
CS[ellipsoidal,2],
AXIS["latitude",north,
ORDER[1],
ANGLEUNIT["degree",0.0174532925199433]],
AXIS["longitude",east,
ORDER[2],
ANGLEUNIT["degree",0.0174532925199433]],
ID["EPSG",4326]]],
ABRIDGEDTRANSFORMATION["Transformation from wgs84 to WGS84",
METHOD["Position Vector transformation (geog2D domain)",
ID["EPSG",9606]],
PARAMETER["X-axis translation",0,
ID["EPSG",8605]],
PARAMETER["Y-axis translation",0,
ID["EPSG",8606]],
PARAMETER["Z-axis translation",0,
ID["EPSG",8607]],
PARAMETER["X-axis rotation",0,
ID["EPSG",8608]],
PARAMETER["Y-axis rotation",0,
ID["EPSG",8609]],
PARAMETER["Z-axis rotation",0,
ID["EPSG",8610]],
PARAMETER["Scale difference",1,
ID["EPSG",8611]]]]
I updated the projection using the WKT from www.epsg.io to solve the issue:
g.proj -c wkt="/home/amit/tmp/102022_epsg_io.txt"
Projection information updated
cat /home/amit/tmp/102022_epsg_io.txt
PROJCS["Africa_Albers_Equal_Area_Conic",GEOGCS["GCS_WGS_1984",DATUM["WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Albers_Conic_Equal_Area"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["longitude_of_center",25],PARAMETER["Standard_Parallel_1",20],PARAMETER["Standard_Parallel_2",-23],PARAMETER["latitude_of_center",0],UNIT["Meter",1],AUTHORITY["EPSG","102022"]]
and tried to export the data again: It worked but without any projection info!
v.out.ogr input=moz_admbnda_adm1_ine_20190607@PERMANENT output=/home/amit/tmp/moz_adm.gpkg format=GPKG
proj_create: crs not found
Exporting 89 areas (may take some time)...
v.out.ogr complete. 89 features (Polygon type) written to <moz_admbnda_adm1_ine_20190607> (GPKG format).
Surprisingly, g.proj -p
prints the projection info but g.proj -w
cannot print the WKT text!
g.proj -p
-PROJ_INFO-------------------------------------------------
name : Africa_Albers_Equal_Area_Conic
datum : wgs84
ellps : wgs84
proj : aea
lat_0 : 0
lon_0 : 25
lat_1 : 20
lat_2 : -23
x_0 : 0
y_0 : 0
no_defs : defined
-PROJ_SRID-------------------------------------------------
SRID : EPSG:102022
-PROJ_UNITS------------------------------------------------
unit : meter
units : meters
meters : 1
g.proj -w
proj_create: crs not found
ERROR: Unable to create PROJ definition from srid <EPSG:102022>
I created another location with EPSG:4326. It does not report the error and I can export the data. Therefore I though it must be related to the projection.
I tried to create a location with the same projection using the EPSG ID 102022, but I could not find the EPSG ID in the database. Then I created the location using the WKT from epsg.io, this time I changed the ID FROM EPSG:102022 to ESRI:102022. and It worked!
g.proj -p
-PROJ_INFO-------------------------------------------------
name : Africa_Albers_Equal_Area_Conic
datum : wgs84
ellps : wgs84
proj : aea
lat_0 : 0
lon_0 : 25
lat_1 : 20
lat_2 : -23
x_0 : 0
y_0 : 0
no_defs : defined
-PROJ_SRID-------------------------------------------------
SRID : ESRI:102022
-PROJ_UNITS------------------------------------------------
unit : meter
units : meters
meters : 1
g.proj -w
PROJCRS["Africa_Albers_Equal_Area_Conic",
BASEGEOGCRS["WGS 84",
DATUM["World Geodetic System 1984",
ELLIPSOID["WGS 84",6378137,298.257223563,
LENGTHUNIT["metre",1]]],
PRIMEM["Greenwich",0,
ANGLEUNIT["Degree",0.0174532925199433]]],
CONVERSION["Africa_Albers_Equal_Area_Conic",
METHOD["Albers Equal Area",
ID["EPSG",9822]],
PARAMETER["Latitude of false origin",0,
ANGLEUNIT["Degree",0.0174532925199433],
ID["EPSG",8821]],
PARAMETER["Longitude of false origin",25,
ANGLEUNIT["Degree",0.0174532925199433],
ID["EPSG",8822]],
PARAMETER["Latitude of 1st standard parallel",20,
ANGLEUNIT["Degree",0.0174532925199433],
ID["EPSG",8823]],
PARAMETER["Latitude of 2nd standard parallel",-23,
ANGLEUNIT["Degree",0.0174532925199433],
ID["EPSG",8824]],
PARAMETER["Easting at false origin",0,
LENGTHUNIT["metre",1],
ID["EPSG",8826]],
PARAMETER["Northing at false origin",0,
LENGTHUNIT["metre",1],
ID["EPSG",8827]]],
CS[Cartesian,2],
AXIS["(E)",east,
ORDER[1],
LENGTHUNIT["metre",1]],
AXIS["(N)",north,
ORDER[2],
LENGTHUNIT["metre",1]],
USAGE[
SCOPE["Not known."],
AREA["Africa"],
BBOX[-35,-25,39,55]],
ID["ESRI",102022]]
v.out.ogr input=moz_admbnda_adm1_ine_20190607@PERMANENT output=/home/amit/tmp/moz_adm_esri.gpkg format=GPKG
Exporting 89 areas (may take some time)...
v.out.ogr complete. 89 features (Polygon type) written to <moz_admbnda_adm1_ine_20190607> (GPKG format).
I'm having exactly the same problem in an ETRS89 Zone 30 location for eastern Spain. I think I created this with an EPSG code but don't remember after 7 years. Not sure how to solve it. Make a new location and reproject into it? What projection to use?
Here is the current projection info:
-PROJ_INFO-------------------------------------------------
name : Universal Transverse Mercator
proj : utm
datum : etrs89
ellps : grs80
zone : 30
no_defs : defined
towgs84 : 0.000,0.000,0.000
-PROJ_UNITS------------------------------------------------
unit : meter
units : meters
meters : 1
I created a new location using EPSG 25830 with exactly the same projection settings as my previous one, reprojected a vector file into this new location and successfully exported the file to a shape file. While this works, it is a clunky workaround.
This is some kind of a weird bug that needs to be investigated, since exporting to a shapefile is a very common activity.
I am using the new GRASS 8.3.0 for Mac ARM and MacOS 13.4.1
However, this was first reported with GRASS 7.8.6 on Ubuntu. So this is very generic. It may be in OGR of course, but we need to look into it.
I'm also ran into the same bug today, on Linux Mint 20.3 with the following installation:
uname -a
Linux epatton 5.15.0-79-generic #86~20.04.2-Ubuntu SMP Mon Jul 17 23:27:17 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
g.version -gre
version=8.3.dev
date=2023
revision=b3ba6c290d
build_date=2023-08-14
build_platform=x86_64-pc-linux-gnu
build_off_t_size=8
libgis_revision=a82501dc85
libgis_date=2023-02-27T12:45:25+00:00
proj=8.2.0
gdal=3.7.1
geos=3.12.0
sqlite=3.31.1
Projection info:
g.proj -p
-PROJ_INFO-------------------------------------------------
name : unnamed
proj : lcc
lat_1 : 48
lat_2 : 52
lat_0 : 46
lon_0 : -60
x_0 : 0
y_0 : 0
no_defs : defined
datum : wgs84
ellps : wgs84
towgs84 : 0.000,0.000,0.000
-PROJ_UNITS------------------------------------------------
unit : meter
units : meters
meters : 1
g.proj -w
g.proj -w
BOUNDCRS[
SOURCECRS[
PROJCRS["unknown",
BASEGEOGCRS["wgs84",
DATUM["World Geodetic System 1984",
ELLIPSOID["WGS_1984",6378137,298.257223563,
LENGTHUNIT["metre",1,
ID["EPSG",9001]]]],
PRIMEM["Greenwich",0,
ANGLEUNIT["degree",0.0174532925199433],
ID["EPSG",8901]]],
CONVERSION["unnamed",
METHOD["Lambert Conic Conformal (2SP)",
ID["EPSG",9802]],
PARAMETER["Latitude of false origin",46,
ANGLEUNIT["degree",0.0174532925199433],
ID["EPSG",8821]],
PARAMETER["Longitude of false origin",-60,
ANGLEUNIT["degree",0.0174532925199433],
ID["EPSG",8822]],
PARAMETER["Latitude of 1st standard parallel",48,
ANGLEUNIT["degree",0.0174532925199433],
ID["EPSG",8823]],
PARAMETER["Latitude of 2nd standard parallel",52,
ANGLEUNIT["degree",0.0174532925199433],
ID["EPSG",8824]],
PARAMETER["Easting at false origin",0,
LENGTHUNIT["metre",1],
ID["EPSG",8826]],
PARAMETER["Northing at false origin",0,
LENGTHUNIT["metre",1],
ID["EPSG",8827]]],
CS[Cartesian,2],
AXIS["easting",east,
ORDER[1],
LENGTHUNIT["metre",1,
ID["EPSG",9001]]],
AXIS["northing",north,
ORDER[2],
LENGTHUNIT["metre",1,
ID["EPSG",9001]]]]],
TARGETCRS[
GEOGCRS["WGS 84",
DATUM["World Geodetic System 1984",
ELLIPSOID["WGS 84",6378137,298.257223563,
LENGTHUNIT["metre",1]]],
PRIMEM["Greenwich",0,
ANGLEUNIT["degree",0.0174532925199433]],
CS[ellipsoidal,2],
AXIS["latitude",north,
ORDER[1],
ANGLEUNIT["degree",0.0174532925199433]],
AXIS["longitude",east,
ORDER[2],
ANGLEUNIT["degree",0.0174532925199433]],
ID["EPSG",4326]]],
ABRIDGEDTRANSFORMATION["Transformation from wgs84 to WGS84",
METHOD["Position Vector transformation (geog2D domain)",
ID["EPSG",9606]],
PARAMETER["X-axis translation",0,
ID["EPSG",8605]],
PARAMETER["Y-axis translation",0,
ID["EPSG",8606]],
PARAMETER["Z-axis translation",0,
ID["EPSG",8607]],
PARAMETER["X-axis rotation",0,
ID["EPSG",8608]],
PARAMETER["Y-axis rotation",0,
ID["EPSG",8609]],
PARAMETER["Z-axis rotation",0,
ID["EPSG",8610]],
PARAMETER["Scale difference",1,
ID["EPSG",8611]]]]
I just bumped into this issue. This is an old location but a recent mapset. I was able to export vectors from this location in the past. One aspect I don't understand is why is this CRS reported as "unnamed", this is a well known map projection and datum, recorded with the identifier ESRI:54052
by both GDAL and PostGis.
GRASS local_igh/vectors:local_igh > uname -a
Linux luis-notebook 6.5.0-28-generic #29~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Apr 4 14:39:20 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
> g.version -gre
version=8.3.2
date=2024
revision=exported
build_date=2024-03-08
build_platform=x86_64-pc-linux-gnu
build_off_t_size=8
libgis_revision=8.3.2
libgis_date=2024-03-08T09:26:59+00:00
proj=9.3.1
gdal=3.8.4
geos=3.12.1
sqlite=3.37.2
> g.proj -p
-PROJ_INFO-------------------------------------------------
name : unnamed
datum : wgs84
ellps : wgs84
proj : igh
no_defs : defined
towgs84 : 0.000,0.000,0.000
-PROJ_UNITS------------------------------------------------
unit : meter
units : meters
meters : 1
Describe the bug v.out.ogr input=world_borders@world_borders output=/home/fredfox/Downloads/temp/world_borders format=ESRI_Shapefile ERROR 10: Pointer 'hSRS' is NULL in 'OSRImportFromWkt'. ERROR: Unable to create OGR spatial reference
To Reproduce Steps to reproduce the behavior:
Expected behavior I expected the process to create a new shape file
Screenshots Output displayed in the bug description.
System description (please complete the following information):
Operating System: Ubuntu 20.04.3 LTS
GRASS GIS version: GRASS 7.8.6 (2021) (http://ppa.launchpad.net/ubuntugis/ubuntugis-unstable/ubuntu focal InRelease)
details about further software components
run
g.version -rge
in a GRASS GIS terminal session or check in version=7.8.6 date=2021 revision=exported build_date=2021-12-22 build_platform=x86_64-pc-linux-gnu build_off_t_size=8 libgis_revision=2021-12-22T11:46:35+00:00 libgis_date=2021-12-22T11:46:35+00:00 proj=8.2.0 gdal=3.4.0 geos=3.10.1 sqlite=3.31.1the GUI menu "Help > About" GRASS GIS 7.8.6 (64bit) Build Date: 2021-12-22 Python: 3.8.10 wxPython: 4.0.7 Language: en_US.UTF-8
run
python3 -c "import sys, wx; print(sys.version); print(wx.version())"
to print the Python and wxPython version numbers 3.8.10 (default, Nov 26 2021, 20:14:08) [GCC 9.3.0] 4.0.7 gtk3 (phoenix) wxWidgets 3.0.4Additional context Add any other context about the problem here.