Skip to content

Commit 63a0346

Browse files
committed
For gdal-data folder, need only search for 'gt_datum.csv'. 'gdal_datum.csv' was not included in GDAL verssion 3.x, but 'gt_datum.csv' is in all versions (so far). Revise info message for PROJ_LIB.
1 parent 6225f20 commit 63a0346

File tree

1 file changed

+25
-23
lines changed

1 file changed

+25
-23
lines changed

src/gov/nasa/worldwind/util/gdal/GDALUtils.java

Lines changed: 25 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)