Changeset 29189 in osm


Ignore:
Timestamp:
2013-01-11T19:31:28+01:00 (12 years ago)
Author:
malcolmh
Message:

save

Location:
applications/editors/josm/plugins/smed2/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/smed2/src/seamap/Renderer.java

    r29186 r29189  
    6666                        ArrayList<Long> way = map.ways.get(feature.refs);
    6767                        Coord coord = map.nodes.get(way.get(0));
    68             double llat = coord.lat;
    69             double llon = coord.lon;
    70             double area = 0.0;
     68            double llon = Math.toRadians(coord.lon);
     69            double llat = Math.toRadians(coord.lat);
     70            double sigma = 0.0;
    7171                        for (long node : way) {
    7272                                coord = map.nodes.get(node);
    73               area += ((llon * coord.lat) - (llat * coord.lon));
    74               llat = coord.lat;
    75               llon = coord.lon;
     73                                double lat = Math.toRadians(coord.lat);
     74                                double lon = Math.toRadians(coord.lon);
     75                                sigma += (lon * Math.sin(llat)) - (llon * Math.sin(lat));
     76                                llon = lon;
     77                                llat = lat;
    7678            }
    77             return Math.abs(area) / 2.0 * 60.0 * 60.0;
     79            return Math.abs(sigma) / 2.0 * 3444 * 3444;
    7880          }
    7981          return 0.0;
     
    8183
    8284        public static Coord findCentroid(Feature feature) {
     85                double tst = calcArea(feature);
    8386                Coord coord;
    8487                ArrayList<Long> way = map.ways.get(feature.refs);
     
    102105      double lon = coord.lon;
    103106      double lat = coord.lat;
    104       double arc = Math.sqrt(Math.pow((lon-llon), 2) + Math.pow((lat-llat), 2));
     107      double arc = (Math.acos(Math.cos(Math.toRadians(lon-llon)) * Math.cos(Math.toRadians(lat-llat))));
    105108      slat += (lat * arc);
    106109      slon += (lon * arc);
  • applications/editors/josm/plugins/smed2/src/smed2/Smed2Action.java

    r29184 r29189  
    113113                editFrame.setResizable(true);
    114114                editFrame.setAlwaysOnTop(true);
    115                 editFrame.setVisible(true);
     115                editFrame.setVisible(false);
    116116                panelMain = new PanelMain();
    117117                editFrame.add(panelMain);
     
    169169                Node nextNode = null;
    170170                Node node = null;
     171                Way nextWay = null;
     172                Way way = null;
    171173
    172174                if (selection.size() == 0) showFrame.setVisible(false);
     
    179181                                                showFrame.setVisible(true);
    180182                                                showFrame.showFeature(node, map);
     183                                        }
     184                                } else {
     185                                        showFrame.setVisible(false);
     186                                }
     187                        }
     188                        else if (osm instanceof Way) {
     189                                nextWay = (Way) osm;
     190                                if (selection.size() == 1) {
     191                                        if (nextWay.compareTo(way) != 0) {
     192                                                way = nextWay;
     193                                                showFrame.setVisible(true);
     194                                                showFrame.showFeature(way, map);
    181195                                        }
    182196                                } else {
Note: See TracChangeset for help on using the changeset viewer.