@@ -116,7 +116,7 @@ private static void initGDALversion()
116116 if (Configuration .isWindowsOS ())
117117 searchDirs = new String [] { getCurrentDirectory (), "C:\\ Program Files\\ GDAL" };
118118 else
119- searchDirs = new String [] { getCurrentDirectory (), "/usr/share/gdal" , "/usr/lib" , "/usr/lib/gdal " };
119+ searchDirs = new String [] { getCurrentDirectory (), "/usr/share/gdal" , "/usr/lib/gdal " , "/usr/lib" };
120120
121121 boolean runningAsJavaWebStart = (System .getProperty ("javawebstart.version" , null ) != null );
122122
@@ -179,12 +179,10 @@ private static void initGDALversion()
179179 // https://github.com/OSGeo/gdal/issues/1191
180180 // https://github.com/OSGeo/gdal/pull/1658/
181181 //
182-
183182 if (GDALversion >= 30 ) {
184183 String projdbPath = System .getenv ("PROJ_LIB" );
185- if (projdbPath != null ) {
186- Logging .logger ().info ("env PROJ_LIB = " + projdbPath );
187- } else {
184+ String projdbSrc = "" ;
185+ if (projdbPath == null ) {
188186 // For GDAL 3.x, can set location programmatically
189187 try {
190188 Method setProj = org .gdal .osr .osr .class .getMethod ("SetPROJSearchPath" , String .class );
@@ -193,14 +191,18 @@ private static void initGDALversion()
193191 projdbPath = findGdalProjDB (dir );
194192 if (projdbPath != null ) {
195193 setProj .invoke (null , projdbPath );
196- Logging . logger (). info ( "proj.db in " + projdbPath + " (discovered)") ;
194+ projdbSrc = " (discovered)" ;
197195 break ;
198196 }
199197 }
200198 } catch (NoSuchMethodException e ) {}
199+ } else {
200+ projdbSrc = " " + Logging .getMessage ("gdal.FolderFromEnv" , "PROJ_LIB" );
201201 }
202202 if (projdbPath == null )
203- Logging .logger ().severe ("*** ERROR - GDAL requires PROJ_LIB env var to locate 'proj.db'" );
203+ Logging .logger ().severe ("*** ERROR - GDAL requires PROJ_LIB env var to locate 'proj.db'" );
204+ else
205+ Logging .logger ().info ("proj.db in " + projdbPath + projdbSrc );
204206 }
205207
206208 listAllRegisteredDrivers ();
@@ -280,25 +282,25 @@ public boolean accept(File pathname)
280282
281283 protected static String findGdalDataFolder (String dir )
282284 {
283- try {
285+ try
286+ {
284287 FileTree fileTree = new FileTree (new File (dir ));
285288 fileTree .setMode (FileTree .FILES_AND_DIRECTORIES );
286289
287- String [] datumNames = { "gdal_datum.csv" , "gt_datum.csv" };
288- for (String s : datumNames ) {
289- GDALFileFinder filter = new GDALFileFinder (s );
290- fileTree .asList (filter );
291- ArrayList <String > folders = filter .getFolders ();
292-
293- if (!folders .isEmpty ()) {
294- if (folders .size () > 1 ) {
295- String msg = Logging .getMessage ("gdal.MultipleDataFoldersFound" , folders .get (1 ));
296- Logging .logger ().warning (msg );
297- }
298- return folders .get (0 );
299- }
300- }
301- } catch (Throwable t ) {
290+ GDALFileFinder filter = new GDALFileFinder ("gt_datum.csv" );
291+ fileTree .asList (filter );
292+ ArrayList <String > folders = filter .getFolders ();
293+
294+ if (!folders .isEmpty ()) {
295+ if (folders .size () > 1 ) {
296+ String msg = Logging .getMessage ("gdal.MultipleDataFoldersFound" , folders .get (1 ));
297+ Logging .logger ().warning (msg );
298+ }
299+ return folders .get (0 );
300+ }
301+ }
302+ catch (Throwable t )
303+ {
302304 Logging .logger ().severe (t .getMessage ());
303305 }
304306 return null ;
0 commit comments