Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fail to make the Tile maps due to psconvert [ERROR] #3300

Closed
zkn365 opened this issue Jun 21, 2024 · 3 comments
Closed

Fail to make the Tile maps due to psconvert [ERROR] #3300

zkn365 opened this issue Jun 21, 2024 · 3 comments
Labels
bug Something isn't working

Comments

@zkn365
Copy link

zkn365 commented Jun 21, 2024

Description of the problem

Fail to generate tile maps with the demo script of pygmt.
https://www.pygmt.org/latest/gallery/maps/tilemaps.html#sphx-glr-gallery-maps-tilemaps-py

Anyone can help?
Error:
File "C:\Users\User\AppData\Local\pypoetry\Cache\virtualenvs\workspace-map-ekjYw_mI-py3.10\lib\site-packages\pygmt\clib\session.py", line 659, in call_module
raise GMTCLibError(
pygmt.exceptions.GMTCLibError: Module 'psconvert' failed with status code 79:
psconvert [ERROR]: No hidden PS file C:/Users/User/.gmt/sessions/gmt_session.ad04e157a7eb49efaee6f9811253a247/gmt_1.ps- found

Minimal Complete Verifiable Example

import contextily
import pygmt
pygmt.show_versions()
fig = pygmt.Figure()
fig.tilemap(
    region=[-157.84, -157.8, 21.255, 21.285],
    projection="M12c",
    # Set level of details (0-22)
    # Higher levels mean a zoom level closer to the Earth's
    # surface with more tiles covering a smaller
    # geographic area and thus more details and vice versa
    # Please note, not all zoom levels are always available
    zoom=14,
    # Use tiles from OpenStreetMap tile server
    source="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
    frame="afg",
)
fig.savefig("pygmt_Tile_Maps.png",V='d')

Full error message

ERROR 1: PROJ: proj_create_from_database: Cannot find proj.db
ERROR 1: PROJ: proj_create_from_database: Cannot find proj.db
Warning 1: PROJ: proj_create_from_database: Cannot find proj.db
Warning 1: The definition of projected CRS EPSG:3857 got from GeoTIFF keys is not the same as the one from the EPSG registry, which may cause issues during reprojection operations. Set GTIFF_SRS_SOURCE configuration option to EPSG to use official parameters (overriding the ones from GeoTIFF keys), or to GEOKEYS to use custom values from GeoTIFF keys and drop the EPSG code.
Warning 1: PROJ: proj_create_from_database: Cannot find proj.db
Warning 1: The definition of projected CRS EPSG:3857 got from GeoTIFF keys is not the same as the one from the EPSG registry, which may cause issues during reprojection operations. Set GTIFF_SRS_SOURCE configuration option to EPSG to use official parameters (overriding the ones from GeoTIFF keys), or to GEOKEYS to use custom values from GeoTIFF keys and drop the EPSG code.
Warning 1: PROJ: proj_create_from_database: Cannot find proj.db
Warning 1: The definition of projected CRS EPSG:3857 got from GeoTIFF keys is not the same as the one from the EPSG registry, which may cause issues during reprojection operations. Set GTIFF_SRS_SOURCE configuration option to EPSG to use official parameters (overriding the ones from GeoTIFF keys), or to GEOKEYS to use custom values from GeoTIFF keys and drop the EPSG code.
Warning 1: PROJ: proj_create_from_database: Cannot find proj.db
Warning 1: The definition of projected CRS EPSG:3857 got from GeoTIFF keys is not the same as the one from the EPSG registry, which may cause issues during reprojection operations. Set GTIFF_SRS_SOURCE configuration option to EPSG to use official parameters (overriding the ones from GeoTIFF keys), or to GEOKEYS to use custom values from GeoTIFF keys and drop the EPSG code.
grdimage [WARNING]: (w - x_min) must equal (NX + eps) * x_inc), where NX is an integer and |eps| <= 0.0001.
grdimage [WARNING]: w reset from -517.84 to -524.595191276
grdimage [WARNING]: (n - y_min) must equal (NY + eps) * y_inc), where NY is an integer and |eps| <= 0.0001.
grdimage [WARNING]: n reset from 21.285 to 23.9333155621
grdimage (gmt_api.c:4834(gmtapi_import_image)): Could not reallocate memory [17154804629.42 Gb, 18419831213156680330 items of 1 bytes]
grdimage (gmt_api.c:4834(gmtapi_import_image)): gmt_M_memory [realloc] called
[Session pygmt-session (5)]: Error returned from GMT API: GMT_MEMORY_ERROR (25)
[Session pygmt-session (5)]: Error returned from GMT API: GMT_MEMORY_ERROR (25)
C:\Users\User\AppData\Local\pypoetry\Cache\virtualenvs\workspace-map-ekjYw_mI-py3.10\lib\site-packages\pygmt\figure.py:372: SyntaxWarning: Short-form parameter (V) is not recommended. Use long-form parameter 'verbose' instead.
  self.psconvert(prefix=prefix, fmt=fmt, crop=crop, **kwargs)
pygmt-session [DEBUG]: Revised options: -A -Fpygmt_Tile_Maps -Qg2 -Qt2 -Tg -Vd
psconvert [DEBUG]: Ghostscript executable full name:
psconvert [DEBUG]: gmt_run_process_get_first_line: Pass to popen: ["C:\Program Files\gs\gs10.01.0\bin\gswin64c.exe" --version 2> NUL]
psconvert [DEBUG]: "C:\Program Files\gs\gs10.01.0\bin\gswin64c.exe" --version 2> NUL was successful
psconvert [DEBUG]: Ghostscript version: 10.01.0
psconvert [DEBUG]: Use PS filename C:/Users/User/.gmt/sessions/gmt_session.16d956324ae74f22b9644cf4ab519d0d/gmt_1.ps-
psconvert [ERROR]: No hidden PS file C:/Users/User/.gmt/sessions/gmt_session.16d956324ae74f22b9644cf4ab519d0d/gmt_1.ps- found
Traceback (most recent call last):
  File "C:\cloud_workspace\workspace_map\pygmt_maps\pygmt_Tile_Maps.py", line 51, in <module>
    fig.savefig("pygmt_Tile_Maps.png",V='d')
  File "C:\Users\User\AppData\Local\pypoetry\Cache\virtualenvs\workspace-map-ekjYw_mI-py3.10\lib\site-packages\pygmt\figure.py", line 372, in savefig
    self.psconvert(prefix=prefix, fmt=fmt, crop=crop, **kwargs)
  File "C:\Users\User\AppData\Local\pypoetry\Cache\virtualenvs\workspace-map-ekjYw_mI-py3.10\lib\site-packages\pygmt\helpers\decorators.py", line 609, in new_module
    return module_func(*args, **kwargs)
  File "C:\Users\User\AppData\Local\pypoetry\Cache\virtualenvs\workspace-map-ekjYw_mI-py3.10\lib\site-packages\pygmt\helpers\decorators.py", line 773, in new_module
    return module_func(*bound.args, **bound.kwargs)
  File "C:\Users\User\AppData\Local\pypoetry\Cache\virtualenvs\workspace-map-ekjYw_mI-py3.10\lib\site-packages\pygmt\figure.py", line 252, in psconvert
    lib.call_module(module="psconvert", args=build_arg_list(kwargs))
  File "C:\Users\User\AppData\Local\pypoetry\Cache\virtualenvs\workspace-map-ekjYw_mI-py3.10\lib\site-packages\pygmt\clib\session.py", line 659, in call_module
    raise GMTCLibError(
pygmt.exceptions.GMTCLibError: Module 'psconvert' failed with status code 79:
psconvert [ERROR]: No hidden PS file C:/Users/User/.gmt/sessions/gmt_session.16d956324ae74f22b9644cf4ab519d0d/gmt_1.ps- found

System information

The version output:
PyGMT information:
  version: v0.12.0
System information:
  python: 3.10.12 | packaged by Anaconda, Inc. | (main, Jul  5 2023, 19:01:18) [MSC v.1916 64 bit (AMD64)]
  executable: C:\Users\user\AppData\Local\Scripts\python.exe
  machine: Windows-10-10.0.22631-SP0
Dependency information:
  numpy: 2.0.0
  pandas: 2.2.2
  xarray: 2024.6.0
  netCDF4: 1.7.1
  packaging: 24.1
  contextily: 1.6.0
  geopandas: 0.14.4
  ipython: None
  rioxarray: 0.15.5
  ghostscript: None
GMT library information:
  binary version: 6.5.0
  cores: 8
  grid layout: rows
  image layout: 
  library path: C:/programs/gmt6/bin/gmt_w64.dll
  padding: 2
  plugin dir: C:/programs/gmt6/bin/gmt_plugins
  share dir: C:/programs/gmt6/share
  version: 6.5.0
@zkn365 zkn365 added the bug Something isn't working label Jun 21, 2024
Copy link

welcome bot commented Jun 21, 2024

👋 Thanks for opening your first issue here! Please make sure you filled out the template with as much detail as possible. You might also want to take a look at our contributing guidelines and code of conduct.

@zkn365
Copy link
Author

zkn365 commented Jun 21, 2024

Solution: add pyproj path to system

import os
os.environ['PROJ_LIB'] = rf'C:\py3.10\Lib\site-packages\pyproj\proj_dir\share\proj'

add above codes to the top of the codes

@seisman
Copy link
Member

seisman commented Jun 22, 2024

So it's a PROJ configuration error. Not something we can fix on the PyGMT side. xref: https://proj.org/en/9.4/faq.html#why-am-i-getting-the-error-cannot-find-proj-db

Closing the issue.

@seisman seisman closed this as completed Jun 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants