private void loadLandPolygons(String file, final HashMap<Integer, GMTShape> landPolygons) {
        GMTParser gmtpLandPolygons = new GMTParser() {
            @Override
            public void processShape(GMTShape shape) {
                if (shape.getxPoly().length > 0) {
                    landPolygons.put(shape.getID(), shape);
                }
            }
        };

        try {
            gmtpLandPolygons.load(file);

        } catch (FileNotFoundException ex) {
            Logger.getLogger(DataLoader.class.getName()).log(Level.SEVERE, null, ex);
        } catch (UnsupportedEncodingException ex) {
            Logger.getLogger(DataLoader.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            Logger.getLogger(DataLoader.class.getName()).log(Level.SEVERE, null, ex);
        }
    }