Changeset 30367 in osm


Ignore:
Timestamp:
2014-03-26T00:05:28+01:00 (11 years ago)
Author:
mkyral
Message:

PointInfo: Replace org.json with JOSM Cbedded (GPL-compliant) jsonp.

Location:
applications/editors/josm/plugins/pointInfo
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/pointInfo/README.md

    r30328 r30367  
    1 ![](http://www.kyralovi.cz/tmp/josm/pointinfo_beta4.png)
     1![](http://www.kyralovi.cz/tmp/josm/pointInfo_v1.png)
    22
    33---
     
    66
    77This plugin shows all available information for clicked point from external database.
    8 Currently, only Czech RUIAN module is available.
    9 
     8There is only a Czech RUIAN module available at this moment.
    109
    1110##Author
     
    1312 * Marián Kyral <mkyral@email.cz>
    1413
     14##Websites
     15
     16 * OSM wiki - not availavle yet
     17 * [JOSM svn](https://trac.openstreetmap.org/browser/subversion/applications/editors/josm/plugins/pointInfo)
     18 * [Github](https://github.com/mkyral/josm-pointInfo)
    1519
    1620##Licence:
     
    1822 * GPL v2 or later
    1923
    20 
    21 ##Used libraries:
    22 
    23 * org.json (http://www.json.org/java/index.html) for parse json data.
    2424
    2525##Notes:
     
    2929- Optionally you can define special links (file://...) that will be sent back to the module to the performAction method
    3030
     31---
     32###The RUIAN module
     33
     34 * Shows data about building, addresses, streets,  parcels and cadastral area from Czech RUIAN registry (http://wiki.openstreetmap.org/wiki/RUIAN)
     35
     36 * Additional actions are available :
     37    * [![](http://raw.githubusercontent.com/mkyral/josm-pointInfo/master/images/dialogs/copy-tags.png)] Copy tags to clipboard
     38    * [![](https://raw.githubusercontent.com/mkyral/josm-pointInfo/master/images/dialogs/create-addr.png)] Create an address point on position where was clicked
     39    * [![](https://raw.githubusercontent.com/mkyral/josm-pointInfo/master/images/dialogs/create-addr-ruian.png)] Create an address point on position defined in RUIAN
     40
     41---
    3142###The interface:
    3243
     
    5667
    5768```
    58 
    59 
  • applications/editors/josm/plugins/pointInfo/build.xml

    r30334 r30367  
    1515
    1616    <!-- enter the SVN commit message -->
    17     <property name="commit.message" value="PointInfo: Fix format of start_date key"/>
     17    <property name="commit.message" value="PointInfo: Replace org.json with JOSM embedded (GPL-compliant) jsonp."/>
    1818    <!-- enter the *lowest* JOSM version this plugin is currently compatible with -->
    1919    <property name="plugin.main.version" value="6238"/>
  • applications/editors/josm/plugins/pointInfo/src/org/openstreetmap/josm/plugins/pointinfo/ruianModule.java

    r30334 r30367  
    2525import org.openstreetmap.josm.data.osm.OsmPrimitive;
    2626import org.openstreetmap.josm.data.coor.LatLon;
     27import org.openstreetmap.josm.data.osm.Node;
     28import org.openstreetmap.josm.data.osm.Tag;
     29import org.openstreetmap.josm.data.osm.TagCollection;
     30import org.openstreetmap.josm.gui.Notification;
    2731import org.openstreetmap.josm.tools.Utils;
    28 import org.openstreetmap.josm.gui.Notification;
    29 // import org.openstreetmap.josm.actions.PasteTagsAction;
     32
    3033import org.openstreetmap.josm.command.AddCommand;
    3134import org.openstreetmap.josm.command.Command;
    3235import org.openstreetmap.josm.command.SequenceCommand;
    33 import org.openstreetmap.josm.data.osm.Node;
    34 
    35 import org.openstreetmap.josm.data.osm.Tag;
    36 import org.openstreetmap.josm.data.osm.TagCollection;
    37 
    38 import org.json.JSONObject;
    39 import org.json.JSONArray;
     36
     37import java.io.InputStream;
     38import java.io.ByteArrayInputStream;
     39
     40import javax.json.Json;
     41import javax.json.JsonException;
     42import javax.json.JsonArray;
     43import javax.json.JsonObject;
     44import javax.json.JsonReader;
     45import javax.json.JsonValue;
     46
    4047
    4148import java.util.*;
     
    279286      init();
    280287
    281 
    282     try {
    283       JSONObject obj = new JSONObject(jsonStr);
     288      JsonReader jsonReader = Json.createReader(new ByteArrayInputStream(jsonStr.getBytes()));
     289      JsonObject obj = jsonReader.readObject();
     290      jsonReader.close();
    284291
    285292      try {
    286         m_coor_lat = obj.getJSONObject("coordinates").getDouble("lat");
     293        JsonObject coorObjekt = obj.getJsonObject("coordinates");
     294
     295        try {
     296          m_coor_lat = Double.parseDouble(coorObjekt.getString("lat"));
     297        } catch (Exception e) {
     298          System.out.println("coordinates.lat: " + e.getMessage());
     299        }
     300
     301        try {
     302          m_coor_lon = Double.parseDouble(coorObjekt.getString("lon"));
     303        } catch (Exception e) {
     304          System.out.println("coordinates.lon: " + e.getMessage());
     305        }
     306
     307        try {
     308          m_source = obj.getString("source");
     309        } catch (Exception e) {
     310          System.out.println("source: " + e.getMessage());
     311        }
     312
    287313      } catch (Exception e) {
    288       }
    289 
    290       try {
    291         m_coor_lon = obj.getJSONObject("coordinates").getDouble("lon");
    292       } catch (Exception e) {
    293       }
    294 
    295       try {
    296         m_source = obj.getString("source");
    297       } catch (Exception e) {
     314        System.out.println("coordinates: " + e.getMessage());
    298315      }
    299316
    300317// =========================================================================
    301318      try {
    302         JSONObject stavebniObjekt = obj.getJSONObject("stavebni_objekt");
    303 
    304         try {
    305           m_objekt_ruian_id = stavebniObjekt.getLong("ruian_id");
    306         } catch (Exception e) {
    307         }
    308 
    309         try {
    310           m_objekt_podlazi = stavebniObjekt.getInt("pocet_podlazi");
    311         } catch (Exception e) {
    312         }
    313 
    314         try {
    315           m_objekt_byty = stavebniObjekt.getInt("pocet_bytu");
    316         } catch (Exception e) {
     319        JsonObject stavebniObjekt = obj.getJsonObject("stavebni_objekt");
     320
     321        try {
     322          m_objekt_ruian_id = Long.parseLong(stavebniObjekt.getString("ruian_id"));
     323        } catch (Exception e) {
     324          System.out.println("stavebni_objekt.ruian_id: " + e.getMessage());
     325        }
     326
     327        try {
     328          m_objekt_podlazi = Integer.parseInt(stavebniObjekt.getString("pocet_podlazi"));
     329        } catch (Exception e) {
     330          System.out.println("stavebni_objekt.pocet_podlazi: " + e.getMessage());
     331        }
     332
     333        try {
     334          m_objekt_byty = Integer.parseInt(stavebniObjekt.getString("pocet_bytu"));
     335        } catch (Exception e) {
     336          System.out.println("stavebni_objekt.pocet_bytu: " + e.getMessage());
    317337        }
    318338
     
    320340          m_objekt_zpusob_vyuziti = stavebniObjekt.getString("zpusob_vyuziti");
    321341        } catch (Exception e) {
     342          System.out.println("stavebni_objekt.zpusob_vyuziti: " + e.getMessage());
    322343        }
    323344
     
    325346          m_objekt_zpusob_vyuziti_kod = stavebniObjekt.getString("zpusob_vyuziti_kod");
    326347        } catch (Exception e) {
     348          System.out.println("stavebni_objekt.m_objekt_zpusob_vyuziti_kod: " + e.getMessage());
    327349        }
    328350
     
    330352          m_objekt_zpusob_vyuziti_key = stavebniObjekt.getString("zpusob_vyuziti_key");
    331353        } catch (Exception e) {
     354          System.out.println("stavebni_objekt.zpusob_vyuziti_key: " + e.getMessage());
    332355        }
    333356
     
    335358          m_objekt_zpusob_vyuziti_val = stavebniObjekt.getString("zpusob_vyuziti_val");
    336359        } catch (Exception e) {
     360          System.out.println("stavebni_objekt.m_objekt_zpusob_vyuziti_val: " + e.getMessage());
    337361        }
    338362
     
    340364          m_objekt_plati_od = stavebniObjekt.getString("plati_od");
    341365        } catch (Exception e) {
     366          System.out.println("stavebni_objekt.plati_od: " + e.getMessage());
    342367        }
    343368
     
    345370          m_objekt_dokonceni = stavebniObjekt.getString("dokonceni");
    346371        } catch (Exception e) {
    347         }
     372          System.out.println("stavebni_objekt.dokonceni: " + e.getMessage());
     373        }
     374
    348375      } catch (Exception e) {
     376        System.out.println("stavebni_objekt: " + e.getMessage());
    349377      }
    350378
    351379// =========================================================================
    352380      try {
    353         JSONArray arr = obj.getJSONArray("adresni_mista");
    354 
    355         for(int i = 0; i < arr.length(); i++)
     381        JsonArray arr = obj.getJsonArray("adresni_mista");
     382
     383        for(int i = 0; i < arr.size(); i++)
    356384        {
    357           JSONObject adresniMisto = arr.getJSONObject(i);
     385          JsonObject adresniMisto = arr.getJsonObject(i);
    358386          addrPlaces am = new addrPlaces();
    359387
    360388          try {
    361             am.setRuianID(adresniMisto.getLong("ruian_id"));
    362           } catch (Exception e) {
    363           }
    364 
    365           try {
    366             JSONArray node = adresniMisto.getJSONArray("pozice");
     389            am.setRuianID(Long.parseLong(adresniMisto.getString("ruian_id")));
     390          } catch (Exception e) {
     391            System.out.println("adresni_mista.ruian_id: " + e.getMessage());
     392          }
     393
     394          try {
     395            JsonArray node = adresniMisto.getJsonArray("pozice");
    367396            am.setPosition(new LatLon(
    368                 LatLon.roundToOsmPrecisionStrict(node.getDouble(1)),
    369                 LatLon.roundToOsmPrecisionStrict(node.getDouble(0)))
    370               );
    371           } catch (Exception e) {
    372           }
    373 
    374           try {
    375             am.setBudovaID(adresniMisto.getLong("budova_kod"));
    376           } catch (Exception e) {
     397              LatLon.roundToOsmPrecisionStrict(node.getJsonNumber(1).doubleValue()),
     398              LatLon.roundToOsmPrecisionStrict(node.getJsonNumber(0).doubleValue()))
     399            );
     400          } catch (Exception e) {
     401            System.out.println("adresni_mista.pozice: " + e.getMessage());
     402          }
     403
     404          try {
     405            am.setBudovaID(Long.parseLong(adresniMisto.getString("budova_kod")));
     406          } catch (Exception e) {
     407            System.out.println("adresni_mista.budova_kod: " + e.getMessage());
    377408          }
    378409
     
    380411            am.setCisloTyp(adresniMisto.getString("cislo_typ"));
    381412          } catch (Exception e) {
     413            System.out.println("adresni_mista.cislo_typ: " + e.getMessage());
    382414          }
    383415
     
    385417            am.setCisloDomovni(adresniMisto.getString("cislo_domovni"));
    386418          } catch (Exception e) {
     419            System.out.println("adresni_mista.cislo_domovni: " + e.getMessage());
    387420          }
    388421
     
    390423            am.setCisloOrientacni(adresniMisto.getString("cislo_orientacni"));
    391424          } catch (Exception e) {
     425            System.out.println("adresni_mista.cislo_orientacni: " + e.getMessage());
    392426          }
    393427
     
    395429            am.setUlice(adresniMisto.getString("ulice"));
    396430          } catch (Exception e) {
     431            System.out.println("adresni_mista.ulice: " + e.getMessage());
    397432          }
    398433
     
    400435            am.setCastObce(adresniMisto.getString("cast_obce"));
    401436          } catch (Exception e) {
     437            System.out.println("adresni_mista.m_cast_obce: " + e.getMessage());
    402438          }
    403439
     
    405441            am.setMestskaCast(adresniMisto.getString("mestska_cast"));
    406442          } catch (Exception e) {
     443            System.out.println("adresni_mista.mestska_cast: " + e.getMessage());
    407444          }
    408445
     
    410447            am.setObec(adresniMisto.getString("obec"));
    411448          } catch (Exception e) {
     449            System.out.println("adresni_mista.obec: " + e.getMessage());
    412450          }
    413451
     
    415453            am.setOkres(adresniMisto.getString("okres"));
    416454          } catch (Exception e) {
     455            System.out.println("adresni_mista.okres: " + e.getMessage());
    417456          }
    418457
     
    420459            am.setKraj(adresniMisto.getString("kraj"));
    421460          } catch (Exception e) {
     461            System.out.println("adresni_mista.kraj: " + e.getMessage());
    422462          }
    423463
     
    425465            am.setPsc(adresniMisto.getString("psc"));
    426466          } catch (Exception e) {
     467            System.out.println("adresni_mista.psc: " + e.getMessage());
    427468          }
    428469
     
    430471        }
    431472      } catch (Exception e) {
     473        System.out.println("adresni_mista: " + e.getMessage());
    432474      }
    433475
    434476// =========================================================================
    435477      try {
    436         JSONObject parcela = obj.getJSONObject("parcela");
    437 
    438         try {
    439           m_parcela_ruian_id = parcela.getLong("ruian_id");
    440         } catch (Exception e) {
    441         }
    442 ;
     478        JsonObject parcela = obj.getJsonObject("parcela");
     479
     480        try {
     481          m_parcela_ruian_id = Long.parseLong(parcela.getString("ruian_id"));
     482        } catch (Exception e) {
     483          System.out.println("parcela.ruian_id: " + e.getMessage());
     484        }
     485
    443486        try {
    444487          m_parcela_druh_pozemku = parcela.getString("druh_pozemku");
    445488        } catch (Exception e) {
     489          System.out.println("parcela.druh_pozemku: " + e.getMessage());
    446490        }
    447491
     
    449493          m_parcela_zpusob_vyuziti = parcela.getString("zpusob_vyuziti");
    450494        } catch (Exception e) {
     495          System.out.println("parcela.zpusob_vyuziti: " + e.getMessage());
    451496        }
    452497
     
    454499          m_parcela_plati_od = parcela.getString("plati_od");
    455500        } catch (Exception e) {
     501          System.out.println("parcela.plati_od: " + e.getMessage());
    456502        }
    457503
    458504      } catch (Exception e) {
     505        System.out.println("parcela: " + e.getMessage());
    459506      }
    460507
    461508// =========================================================================
    462509      try {
    463         JSONObject ulice = obj.getJSONObject("ulice");
    464 
    465         try {
    466           m_ulice_ruian_id = ulice.getLong("ruian_id");
    467         } catch (Exception e) {
     510        JsonObject ulice = obj.getJsonObject("ulice");
     511
     512        try {
     513          m_ulice_ruian_id = Long.parseLong(ulice.getString("ruian_id"));
     514        } catch (Exception e) {
     515          System.out.println("ulice.ruian_id: " + e.getMessage());
    468516        }
    469517
     
    471519          m_ulice_jmeno = ulice.getString("jmeno");
    472520        } catch (Exception e) {
     521          System.out.println("ulice.jmeno: " + e.getMessage());
    473522        }
    474523
    475524      } catch (Exception e) {
     525        System.out.println("ulice: " + e.getMessage());
    476526      }
    477527
    478528// =========================================================================
    479529      try {
    480         JSONObject katastr = obj.getJSONObject("katastr");
    481 
    482         try {
    483           m_katastr_ruian_id = katastr.getLong("ruian_id");
    484         } catch (Exception e) {
     530        JsonObject katastr = obj.getJsonObject("katastr");
     531
     532        try {
     533          m_katastr_ruian_id = Long.parseLong(katastr.getString("ruian_id"));
     534        } catch (Exception e) {
     535          System.out.println("katastr.ruian_id: " + e.getMessage());
    485536        }
    486537
     
    488539          m_katastr_nazev = katastr.getString("nazev");
    489540        } catch (Exception e) {
     541          System.out.println("katastr.nazev: " + e.getMessage());
    490542        }
    491543
     
    493545          m_katastr_obec = katastr.getString("obec");
    494546        } catch (Exception e) {
     547          System.out.println("katastr.okres: " + e.getMessage());
    495548        }
    496549
     
    498551          m_katastr_okres = katastr.getString("okres");
    499552        } catch (Exception e) {
     553          System.out.println("katastr.okres: " + e.getMessage());
    500554        }
    501555
     
    503557          m_katastr_kraj = katastr.getString("kraj");
    504558        } catch (Exception e) {
     559          System.out.println("katastr.kraj: " + e.getMessage());
    505560        }
    506561
    507562      } catch (Exception e) {
    508       }
    509     } catch (Exception e) {
    510     }
    511 
     563        System.out.println("katastr: " + e.getMessage());
     564      }
    512565    }
    513566
Note: See TracChangeset for help on using the changeset viewer.