protected String getFileName(double lat, double lon) {
        lon = 1 + (180 + lon) / LAT_DEGREE;
        int lonInt = (int) lon;
        lat = 1 + (60 - lat) / LAT_DEGREE;
        int latInt = (int) lat;

        if (Math.abs(latInt - lat) < invPrecision / LAT_DEGREE)
            latInt--;

        // replace String.format as it seems to be slow
        // String.format("srtm_%02d_%02d", lonInt, latInt);
        String str = "srtm_";
        str += lonInt < 10 ? "0" : "";
        str += lonInt;
        str += latInt < 10 ? "_0" : "_";
        str += latInt;

        return str;
    }
@Test
    public void testFileName() {
        assertEquals("srtm_36_02", instance.getFileName(52, -0.1));
        assertEquals("srtm_35_02", instance.getFileName(50, -10));

        assertEquals("srtm_36_23", instance.getFileName(-52, -0.1));
        assertEquals("srtm_35_22", instance.getFileName(-50, -10));

        assertEquals("srtm_39_03", instance.getFileName(49.9, 11.5));
        assertEquals("srtm_34_08", instance.getFileName(20, -11));
        assertEquals("srtm_34_08", instance.getFileName(20, -14));
        assertEquals("srtm_34_08", instance.getFileName(20, -15));
        assertEquals("srtm_37_02", instance.getFileName(52.1943832, 0.1363176));
    }