Index: trunk/scripts/SyncEditorLayerIndex.groovy
===================================================================
--- trunk/scripts/SyncEditorLayerIndex.groovy	(revision 13529)
+++ trunk/scripts/SyncEditorLayerIndex.groovy	(revision 13530)
@@ -36,4 +36,6 @@
     def josmUrls = new HashMap<String, ImageryInfo>()
     def josmMirrors = new HashMap<String, ImageryInfo>()
+    static def oldproj = new HashMap<String, String>()
+    static def ignoreproj = new LinkedList<String>()
 
     static String eliInputFile = 'imagery_eli.geojson'
@@ -53,4 +55,5 @@
         parse_command_line_arguments(args)
         def script = new SyncEditorLayerIndex()
+        script.setupProj()
         script.loadSkip()
         script.start()
@@ -120,4 +123,22 @@
     }
 
+    void setupProj() {
+        oldproj.put("EPSG:3359", "EPSG:3404")
+        oldproj.put("EPSG:3785", "EPSG:3857")
+        oldproj.put("EPSG:31297", "EPGS:31287")
+        oldproj.put("EPSG:54004", "EPSG:3857")
+        oldproj.put("EPSG:102100", "EPSG:3857")
+        oldproj.put("EPSG:102113", "EPSG:3857")
+        oldproj.put("EPSG:900913", "EPGS:3857")
+        ignoreproj.add("EPSG:4267")
+        ignoreproj.add("EPSG:5221")
+        ignoreproj.add("EPSG:5514")
+        ignoreproj.add("EPSG:32019")
+        ignoreproj.add("EPSG:102066")
+        ignoreproj.add("EPSG:102067")
+        ignoreproj.add("EPSG:102685")
+        ignoreproj.add("EPSG:102711")
+    }
+
     void loadSkip() {
         def fr = new InputStreamReader(new FileInputStream(ignoreInputFile), "UTF-8")
@@ -198,4 +219,18 @@
             } else {
                 eliUrls.put(url, e)
+            }
+            def s = e.get("properties").get("available_projections")
+            if (s) {
+                def old = new LinkedList<String>()
+                for (def p : s) {
+                    def proj = p.getString()
+                    if(oldproj.containsKey(proj) || ("CRS:84".equals(proj) && !(url =~ /(?i)version=1\.3/))) {
+                        old.add(proj)
+                    }
+                }
+                if (old) {
+                    def str = String.join(", ", old)
+                    myprintln "+ ELI Projections ${str} not useful: ${getDescription(e)}"
+                }
             }
         }
@@ -664,21 +699,4 @@
         def josmIds = new HashMap<String, ImageryInfo>()
         def all = Projections.getAllProjectionCodes()
-        def oldproj = new HashMap<String, String>()
-        def ignoreproj = new LinkedList<String>()
-        oldproj.put("EPSG:3359", "EPSG:3404")
-        oldproj.put("EPSG:3785", "EPSG:3857")
-        oldproj.put("EPSG:31297", "EPGS:31287")
-        oldproj.put("EPSG:54004", "EPSG:3857")
-        oldproj.put("EPSG:102100", "EPSG:3857")
-        oldproj.put("EPSG:102113", "EPSG:3857")
-        oldproj.put("EPSG:900913", "EPGS:3857")
-        ignoreproj.add("EPSG:4267")
-        ignoreproj.add("EPSG:5221")
-        ignoreproj.add("EPSG:5514")
-        ignoreproj.add("EPSG:32019")
-        ignoreproj.add("EPSG:102066")
-        ignoreproj.add("EPSG:102067")
-        ignoreproj.add("EPSG:102685")
-        ignoreproj.add("EPSG:102711")
         for (def url : josmUrls.keySet()) {
             def j = josmUrls.get(url)
@@ -690,5 +708,5 @@
                     def unsupported = new LinkedList<String>()
                     def old = new LinkedList<String>()
-                    for (def p : getProjections(j)) {
+                    for (def p : getProjectionsUnstripped(j)) {
                         if("CRS:84".equals(p)) {
                             if(!(url =~ /(?i)version=1\.3/)) {
@@ -824,4 +842,16 @@
     }
     static List<Object> getProjections(Object e) {
+        def r = []
+        def u = getProjectionsUnstripped(e)
+        if(u) {
+            for (def p : u) {
+                if(!oldproj.containsKey(p) && !("CRS:84".equals(p) && !(getUrlStripped(e) =~ /(?i)version=1\.3/))) {
+                    r += p
+                }
+            }
+        }
+        return r
+    }
+    static List<Object> getProjectionsUnstripped(Object e) {
         def r
         if (e instanceof ImageryInfo) {
@@ -831,6 +861,7 @@
             if (s) {
                 r = []
-                for (def p : s)
+                for (def p : s) {
                     r += p.getString()
+                }
             }
         }
