nextgis / formbuilder

Data collection forms builder for NextGIS Mobile
http://nextgis.com/nextgis-formbuilder/
GNU General Public License v2.0
12 stars 8 forks source link

ERROR 4: Unable to open EPSG support file gcs.csv #105

Closed drnextgis closed 5 years ago

drnextgis commented 8 years ago

При сохранении ngfp на базе слоя из ngw в консоль падает вот такое сообщение:

ERROR 4: Unable to open EPSG support file gcs.csv.
Try setting the GDAL_DATA environment variable to point to the
directory containing EPSG csv files.

GDAL из нашего PPA.

BishopGIS commented 8 years ago

Какая ОС?

BishopGIS commented 8 years ago

Если Linux - значит пропущен вызов GDALAllRegister();

drnextgis commented 8 years ago

Ubuntu, fb из нашего ppa.

MikhanGusev commented 8 years ago

GDALAllRegister() всегда вызывается в main(): https://github.com/nextgis/formbuilder/blob/master/src/project/project_core.cpp#L61

BishopGIS commented 8 years ago

Он должен один раз вызываться при старте приложения. У тебя так? Вот тестовая программа которая демонстрирует эту ошибку:

#include <iostream>
#include "cpl_conv.h"
#include "gdal_priv.h"

int main( int argc, char ** argv )
{
    //GDALAllRegister();
    std::cout << "gcs.csv: " << CPLFindFile( "gdal", "gcs.csv" ) << std::endl;
    std::cout << "pcs.csv: " << CPLFindFile( "gdal", "pcs.csv" ) << std::endl;
    std::cout << "vertcs.csv: " << CPLFindFile( "gdal", "vertcs.csv" ) << std::endl;
    std::cout << "compdcs.csv: " << CPLFindFile( "gdal", "compdcs.csv" ) << std::endl;
    std::cout << "geoccs.csv: " << CPLFindFile( "gdal", "geoccs.csv" ) << std::endl;
    std::cout << "epsg.wkt: " << CPLFindFile( "gdal", "epsg.wkt" ) << std::endl;
}

Если раскоментировать GDALAllRegister, то ошибки не будет.

MikhanGusev commented 8 years ago

Да, вызывается при старте один раз: https://github.com/nextgis/formbuilder/blob/master/src/main.cpp#L47

MikhanGusev commented 8 years ago

У меня воспроизвелось это сообщение, но всё сохранилось без ошибок

drnextgis commented 8 years ago

Причину возникновения сообщения можно устранить?

MikhanGusev commented 8 years ago

Оставил единственный вызов GDALAllRegister() во всей программе - не помогло