Il Thursday 07 August 2008 02:27:21 andrzej zaborowski ha scritto:
> 2008/8/6 Matteo <[EMAIL PROTECTED]>:
> > Hi, this is a little patch for the osmarender plugin that use the
> > "bounds" tag.
>
> -ENOPATCH
I attach the patch, and copy it here in the body

********** BEGIN **********
--- OsmarenderPlugin.java.orig  2008-08-07 03:20:24.000000000 +0200
+++ OsmarenderPlugin.java       2008-08-07 03:20:44.000000000 +0200
@@ -3,6 +3,9 @@
 import java.awt.event.ActionEvent;
 import java.io.FileOutputStream;
 import java.io.IOException;
+import java.io.PrintWriter;
+import java.io.BufferedReader;
+import java.io.FileReader;
 import java.util.Collection;
 import java.util.HashSet;
 
@@ -29,7 +32,6 @@
 import org.openstreetmap.josm.plugins.Plugin;
 import org.openstreetmap.josm.tools.GBC;
 
-
 public class OsmarenderPlugin extends Plugin {
 
     private class Action extends AbstractAction {
@@ -43,6 +45,13 @@
             LatLon bottomLeft = 
Main.map.mapView.getLatLon(0,Main.map.mapView.getHeight());
             LatLon topRight = 
Main.map.mapView.getLatLon(Main.map.mapView.getWidth(), 0);
             Bounds b = new Bounds(bottomLeft, topRight);
+            
+            try {
+               writeGenerated(b);
+            } catch(Exception ex) {
+               //how handle the exception?
+            }
+            
                        CollectBackReferencesVisitor backRefsV =
                                new CollectBackReferencesVisitor(Main.ds, true);
             DataSet fromDataSet = new DataSet();
@@ -69,9 +78,9 @@
                 // get the exec line
                 String exec = firefox;
                 if (System.getProperty("os.name").startsWith("Windows"))
-                    exec += " 
file:///"+getPluginDir().replace('\\','/').replace(" 
","%20")+"osm-map-features.xml\"";
+                    exec += " 
file:///"+getPluginDir().replace('\\','/').replace(" ","%20")+"generated.xml\"";
                 else
-                    exec += " "+getPluginDir()+"osm-map-features.xml";
+                    exec += " "+getPluginDir()+"generated.xml";
 
                 // launch up the viewer
                 Runtime.getRuntime().exec(exec);
@@ -135,4 +144,36 @@
             }
         };
     }
+    
+    private void writeGenerated(Bounds b) throws IOException {
+       String bounds_tag = "<bounds " +
+               "minlat=\"" + b.min.lat() + "\" " +
+               "maxlat=\"" + b.max.lat() + "\" " +
+               "minlon=\"" + b.min.lon() + "\" " +
+               "maxlon=\"" + b.max.lon() + "\" " + "/>";
+       
+       BufferedReader reader = new BufferedReader(
+                       new FileReader( getPluginDir() + 
"osm-map-features.xml") );
+       PrintWriter writer = new PrintWriter( getPluginDir() + "generated.xml");
+               
+               // osm-map-fetaures.xml contain two placemark
+               // (bounds_mkr1 and bounds_mkr2). We write the bounds tag
+               // between the two
+       String str = null;
+       while( (str = reader.readLine()) != null ) {
+               if(str.contains("<!--bounds_mkr1-->")) {
+                       writer.println(str);
+                       writer.println("    " + bounds_tag);
+                       while(!str.contains("<!--bounds_mkr2-->")) {
+                               str = reader.readLine();
+                       }
+                       writer.println(str);
+               } else {
+                       writer.println(str);
+               }
+       }
+
+       writer.close();
+    }
 }
+
********** END **********

-- 
* Matteo Gottardi | [EMAIL PROTECTED]
* ICQ UIN 20381372
* Linux - the choice of a GNU generation
* GPG Fingerprint:
* B9EE 108F 52C8 D50C B667 B1F2 AB56 8A01 BA3D 36A1
_______________________________________________
josm-dev mailing list
[email protected]
http://lists.openstreetmap.org/listinfo/josm-dev

Reply via email to