Changeset 28044 in osm for applications/editors/josm/plugins/opendata/modules/fr.paris/src
- Timestamp:
- 2012-03-11T17:50:51+01:00 (13 years ago)
- Location:
- applications/editors/josm/plugins/opendata/modules/fr.paris/src/org/openstreetmap/josm/plugins/opendata/modules/fr/paris
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
applications/editors/josm/plugins/opendata/modules/fr.paris/src/org/openstreetmap/josm/plugins/opendata/modules/fr/paris/ParisConstants.java
r28000 r28044 28 28 * Portal 29 29 */ 30 public static final String PORTAL = "http://opendata.paris.fr/opendata/ jsp/site/Portal.jsp?";30 public static final String PORTAL = "http://opendata.paris.fr/opendata/"; 31 31 32 32 /** -
applications/editors/josm/plugins/opendata/modules/fr.paris/src/org/openstreetmap/josm/plugins/opendata/modules/fr/paris/datasets/ParisDataSetHandler.java
r28000 r28044 26 26 27 27 private int documentId; 28 private int portletId ;28 private static final int portletId = 106; // FIXME 29 29 30 public ParisDataSetHandler(int documentId , int portletId) {31 init(documentId , portletId);30 public ParisDataSetHandler(int documentId) { 31 init(documentId); 32 32 } 33 33 34 public ParisDataSetHandler(int documentId, int portletId,String relevantTag) {34 public ParisDataSetHandler(int documentId, String relevantTag) { 35 35 super(relevantTag); 36 init(documentId , portletId);36 init(documentId); 37 37 } 38 38 39 public ParisDataSetHandler(int documentId, int portletId,boolean relevantUnion, String ... relevantTags) {39 public ParisDataSetHandler(int documentId, boolean relevantUnion, String ... relevantTags) { 40 40 super(relevantUnion, relevantTags); 41 init(documentId , portletId);41 init(documentId); 42 42 } 43 43 44 public ParisDataSetHandler(int documentId, int portletId,String ... relevantTags) {45 this(documentId, portletId,false, relevantTags);44 public ParisDataSetHandler(int documentId, String ... relevantTags) { 45 this(documentId, false, relevantTags); 46 46 } 47 47 48 public ParisDataSetHandler(int documentId, int portletId,boolean relevantUnion, Tag ... relevantTags) {48 public ParisDataSetHandler(int documentId, boolean relevantUnion, Tag ... relevantTags) { 49 49 super(relevantUnion, relevantTags); 50 init(documentId , portletId);50 init(documentId); 51 51 } 52 52 53 private final void init(int documentId , int portletId) {53 private final void init(int documentId) { 54 54 this.documentId = documentId; 55 this.portletId = portletId;56 55 } 57 56 … … 75 74 try { 76 75 if (documentId > 0) { 77 return new URL(PORTAL + "document_id="+documentId + "&portlet_id="+portletId); 76 return new URL(PORTAL + "jsp/site/Portal.jsp?document_id="+documentId + "&portlet_id="+portletId); 77 } 78 } catch (MalformedURLException e) { 79 e.printStackTrace(); 80 } 81 return null; 82 } 83 84 protected abstract String getDirectLink(); 85 86 /* (non-Javadoc) 87 * @see org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler#getDataURL() 88 */ 89 @Override 90 public URL getDataURL() { 91 try { 92 if (documentId > 0) { 93 return new URL(PORTAL + "rating/download/?id_resource="+documentId + "&type_resource=document&url="+getDirectLink()); 78 94 } 79 95 } catch (MalformedURLException e) { -
applications/editors/josm/plugins/opendata/modules/fr.paris/src/org/openstreetmap/josm/plugins/opendata/modules/fr/paris/datasets/urbanisme/SanisettesHandler.java
r28000 r28044 16 16 package org.openstreetmap.josm.plugins.opendata.modules.fr.paris.datasets.urbanisme; 17 17 18 import java.util.ArrayList; 19 import java.util.Iterator; 20 import java.util.List; 21 22 import org.openstreetmap.josm.corrector.UserCancelException; 18 23 import org.openstreetmap.josm.data.osm.DataSet; 24 import org.openstreetmap.josm.data.osm.Node; 25 import org.openstreetmap.josm.data.osm.Way; 26 import org.openstreetmap.josm.plugins.opendata.core.datasets.WayCombiner; 19 27 import org.openstreetmap.josm.plugins.opendata.modules.fr.paris.datasets.ParisDataSetHandler; 20 28 … … 22 30 23 31 public SanisettesHandler() { 24 super(93, 106); 32 super(93); 33 setName("Sanisettes"); 25 34 } 26 35 27 36 @Override 28 37 public boolean acceptsFilename(String filename) { 29 return acceptsShpFilename(filename, "sanisettes"); 38 return acceptsShpFilename(filename, "sanisettes") || acceptsZipFilename(filename, "sanisettes"); 39 } 40 41 private boolean wayBelongsTo(Way a, List<Way> ways) { 42 for (Way b : ways) { 43 if (a.getNode(0).equals(b.getNode(0)) || a.getNode(0).equals(b.getNode(b.getNodesCount()-1)) 44 || a.getNode(a.getNodesCount()-1).equals(b.getNode(0)) || a.getNode(a.getNodesCount()-1).equals(b.getNode(b.getNodesCount()-1))) { 45 return true; 46 } 47 } 48 return false; 49 } 50 51 private boolean wayProcessed(Way a, List<List<Way>> waysToCombine) { 52 for (List<Way> ways : waysToCombine) { 53 for (Way b : ways) { 54 if (a.equals(b)) { 55 return true; 56 } 57 } 58 } 59 return false; 60 } 61 62 @Override 63 public void updateDataSet(DataSet ds) { 64 65 List<Way> sourceWays = new ArrayList<Way>(ds.getWays()); 66 List<List<Way>> waysToCombine = new ArrayList<List<Way>>(); 67 68 for (Iterator<Way> it = sourceWays.iterator(); it.hasNext();) { 69 Way w = it.next(); 70 it.remove(); 71 if (!wayProcessed(w, waysToCombine)) { 72 List<Way> list = new ArrayList<Way>(); 73 list.add(w); 74 boolean finished = false; 75 List<Way> sourceWays2 = new ArrayList<Way>(sourceWays); 76 while (!finished) { 77 int before = list.size(); 78 for (Iterator<Way> it2 = sourceWays2.iterator(); it2.hasNext();) { 79 Way w2 = it2.next(); 80 if (wayBelongsTo(w2, list)) { 81 list.add(w2); 82 it2.remove(); 83 } 84 } 85 int after = list.size(); 86 finished = (after == before); 87 } 88 if (list.size() > 1) { 89 waysToCombine.add(list); 90 } 91 } 92 } 93 94 for (List<Way> ways : waysToCombine) { 95 try { 96 WayCombiner.combineWays(ways); 97 } catch (UserCancelException e) { 98 return; 99 } 100 } 101 102 for (Way w : ds.getWays()) { 103 if (w.getNodesCount() <= 3) { 104 ds.removePrimitive(w); 105 for (Node n : w.getNodes()) { 106 ds.removePrimitive(n); 107 } 108 } else { 109 w.put("amenity", "toilets"); 110 } 111 } 30 112 } 31 113 32 114 @Override 33 public void updateDataSet(DataSet ds) { 115 protected String getDirectLink() { 116 return PORTAL+"hn/sanisettes.zip"; 117 } 118 119 /* (non-Javadoc) 120 * @see org.openstreetmap.josm.plugins.opendata.core.datasets.AbstractDataSetHandler#checkShpNodeProximity() 121 */ 122 @Override 123 public boolean checkShpNodeProximity() { 124 return true; 34 125 } 35 126 }
Note:
See TracChangeset
for help on using the changeset viewer.