|
| 1 | +# coding: UTF-8 |
| 2 | +import unittest |
| 3 | +import jpgrid |
| 4 | + |
| 5 | +class TestReference(unittest.TestCase): |
| 6 | + def test_lv1(self): |
| 7 | + self.assertEqual("5438", jpgrid.encodeLv1(36,138)) |
| 8 | + |
| 9 | + def test_prefectures(self): |
| 10 | + # http://www.stat.go.jp/data/mesh/pdf/gaiyo1.pdf |
| 11 | + # page. 15 |
| 12 | + def dms(d,m,s): |
| 13 | + return float(d) + (float(m) + float(s)/60)/60.0 |
| 14 | + |
| 15 | + dataset = [ |
| 16 | + ("北海道", "札幌市", "6441-42-77", ("43","03","30"), ("141","20","15")), |
| 17 | + ("青森県", "青森市", "6140-15-89", ("40","49","00"), ("140","44","15")), |
| 18 | + ("岩手県", "盛岡市", "5941-41-42", ("39","42","00"), ("141","09","00")), |
| 19 | + ("宮城県", "仙台市", "5740-36-29", ("38","16","00"), ("140","51","45")), |
| 20 | + ("秋田県", "秋田市", "5940-40-68", ("39","43","00"), ("140","06","00")), |
| 21 | + ("山形県", "山形市", "5740-22-89", ("38","14","00"), ("140","21","45")), |
| 22 | + ("福島県", "福島市", "5640-53-07", ("37","45","00"), ("140","27","45")), |
| 23 | + ("茨城県", "水戸市", "5440-43-15", ("36","20","30"), ("140","26","15")), |
| 24 | + ("栃木県", "宇都宮市", "5439-67-70", ("36","33","30"), ("139","52","30")), |
| 25 | + ("群馬県", "前橋市", "5439-40-64", ("36","23","00"), ("139","03","00")), |
| 26 | + ("埼玉県", "さいたま市", "5339-65-21", ("35","51","00"), ("139","38","15")), |
| 27 | + ("千葉県", "千葉市", "5340-30-29", ("35","36","00"), ("140","06","45")), |
| 28 | + ("東京都", "新宿区", "5339-45-25", ("35","41","00"), ("139","41","15")), |
| 29 | + ("神奈川県", "横浜市", "5339-15-31", ("35","26","30"), ("139","38","15")), |
| 30 | + ("新潟県", "新潟市", "5639-60-81", ("37","54","00"), ("139","00","45")), |
| 31 | + ("富山県", "富山市", "5537-01-36", ("36","41","30"), ("137","12","00")), |
| 32 | + ("石川県", "金沢市", "5436-75-10", ("36","35","30"), ("136","37","30")), |
| 33 | + ("福井県", "福井市", "5436-01-77", ("36","03","30"), ("136","12","45")), |
| 34 | + ("山梨県", "甲府市", "5338-34-95", ("35","39","30"), ("138","33","45")), |
| 35 | + ("長野県", "長野市", "5438-71-84", ("36","39","00"), ("138","10","30")), |
| 36 | + ("岐阜県", "岐阜市", "5336-05-67", ("35","23","00"), ("136","42","45")), |
| 37 | + ("静岡県", "静岡市", "5238-33-70", ("34","58","30"), ("138","22","30")), |
| 38 | + ("愛知県", "名古屋市", "5236-67-12", ("35","10","30"), ("136","54","00")), |
| 39 | + ("三重県", "津市", "5236-04-70", ("34","43","30"), ("136","30","00")), |
| 40 | + ("滋賀県", "大津市", "5235-46-09", ("35","00","00"), ("135","51","45")), |
| 41 | + ("京都府", "京都市", "5235-46-20", ("35","01","00"), ("135","45","00")), |
| 42 | + ("大阪府", "大阪市", "5235-04-21", ("34","41","00"), ("135","30","45")), |
| 43 | + ("兵庫県", "神戸市", "5235-01-24", ("34","41","00"), ("135","10","30")), |
| 44 | + ("奈良県", "奈良市", "5235-06-26", ("34","41","00"), ("135","49","30")), |
| 45 | + ("和歌山県", "和歌山市", "5135-21-73", ("34","13","30"), ("135","09","45")), |
| 46 | + ("鳥取県", "鳥取市", "5334-21-09", ("35","30","00"), ("134","14","15")), |
| 47 | + ("島根県", "松江市", "5333-10-64", ("35","28","00"), ("133","03","00")), |
| 48 | + ("岡山県", "岡山市", "5133-77-94", ("34","39","30"), ("133","55","30")), |
| 49 | + ("広島県", "広島市", "5132-43-76", ("34","23","30"), ("132","27","00")), |
| 50 | + ("山口県", "山口市", "5131-23-27", ("34","11","00"), ("131","27","45")), |
| 51 | + ("徳島県", "徳島市", "5134-04-74", ("34","03","30"), ("134","33","00")), |
| 52 | + ("香川県", "高松市", "5134-40-03", ("34","20","00"), ("134","02","15")), |
| 53 | + ("愛媛県", "松山市", "5032-66-01", ("33","50","00"), ("132","45","45")), |
| 54 | + ("高知県", "高知市", "5033-24-72", ("33","33","30"), ("133","31","30")), |
| 55 | + ("福岡県", "福岡市", "5030-33-23", ("33","36","00"), ("130","24","45")), |
| 56 | + ("佐賀県", "佐賀市", "4930-62-93", ("33","14","30"), ("130","17","15")), |
| 57 | + ("長崎県", "長崎市", "4929-06-99", ("32","44","30"), ("129","51","45")), |
| 58 | + ("熊本県", "熊本市", "4930-15-49", ("32","47","00"), ("130","44","15")), |
| 59 | + ("大分県", "大分市", "4931-64-89", ("33","14","00"), ("131","36","45")), |
| 60 | + ("宮崎県", "宮崎市", "4731-63-93", ("31","54","30"), ("131","24","45")), |
| 61 | + ("鹿児島県", "鹿児島市", "4730-24-74", ("31","33","30"), ("130","33","00")), |
| 62 | + ("沖縄県", "那覇市", "3927-25-54", ("26","12","30"), ("127","40","30")) |
| 63 | + ] |
| 64 | + |
| 65 | + for data in dataset: |
| 66 | + # encode |
| 67 | + self.assertEqual(data[2].replace("-",""), jpgrid.encode(dms(*data[3]), dms(*data[4]))) |
| 68 | + t = jpgrid.decode(data[2].replace("-","")) |
| 69 | + # decode |
| 70 | + self.assertTrue(t[0] > dms(*data[3])) |
| 71 | + self.assertTrue(t[0] < dms(*data[3]) + 1.5/80.0) |
| 72 | + self.assertTrue(t[1] > dms(*data[4])) |
| 73 | + self.assertTrue(t[1] < dms(*data[4]) + 1.0/80.0) |
| 74 | + |
| 75 | +if __name__=='__main__': |
| 76 | + unittest.main() |
0 commit comments