Question
Please read the question carefully and include comments // while you write the code. Thank you ( I have provided the formula and zp file
Please read the question carefully and include comments // while you write the code. Thank you ( I have provided the formula and zp file needed for the program below)
Objective
To build a complete working Java program that offer practice with a more involved Java graphical user interface, multiple classes, and a large data file.
Overview & Instruction
Write a Java application to simulate shipping tool for Michigan zip codes. Your companys home base is located in (the mythical community of) University Center, MI 48710 at latitude 43.5566 and longitude -83.9943 (note: Western Hemisphere longitudes are negative). The user should see a numerical key pad as an interface to key in the digits of the zip code. Upon entering a valid zip code, the user should receive a dialog box containing the post office name and geographical informationincluding the distance from Delta College. Your application should utilize a file zipMI.txt that contains all zip codes in Michigan including the location (latitude,longitude) and name of the post office. A sample line of input from the file will be: 48706 43.60880 -83.95300 MI Bay_City Your application should be object oriented containing: The main application GUI At least one class that will act as a "data manager" for the list of zip code information Consider additional classes to manage a zip code, a county, and/or a county list The main application GUI should include the following components and features: A numerical keypad with digits 0...9 (similar to a keypad on a computer keyboard) defined as buttons. Use layout managers as needed to accomplish this. A text field that will display the zip code digits as they are keyed in by the user. A button that will submit the user's request for a zip code search. A button to "clear" the zip code digits currently in the text field. Provide error message dialogs for the following errors: A zip code having an invalid format (any form other than five numerical digits). The zip code of University Center (48710) is entered. An invalid zip code (which must be coordinated with the data manager class method(s). The data manager class should perform the following tasks "behind the scenes": Read the raw zip code information from the provided data files. Store the information in one or more arrays within your class(es). Search for the name, latitude, and longitude for the zip code entered. Perform required distance calculations. Combine zip code and county information as needed for given user input. A basic description of the purpose of your software product will be to allow a user to enter a five-digit zip code and you will return the city, state, and optional geographical information. The output can be displayed via a simple dialog box and should contain the zip code, city name, post office latitude, and longitude, the distance of that post office from University Center. The look and feel of the graphical interface is up to you. Be sure it is clear, organized, and understandable by any general user. To calculate the distance from Delta College, you will need to integrate the great circle distance formula. This formula is provided and demonstrated for you in the following example: DistanceCalc.java. DistanceCalc.java // This program reads a latitude and longitude fromt the user and reports // the distance from Delta College. import javax.swing.JOptionPane; public class DistanceCalc { final static double DELTA_LATITUDE = 43.55660; // degrees final static double DELTA_LONGITUDE = -83.99430; // degrees final static double RADIUS_EARTH = 3963.189; // miles public static void main(String[] args) { // Variable declaration double distance, latitude, longitude; String tempString, outputMessage; // Get data tempString = JOptionPane.showInputDialog("Enter latitude"); latitude = Double.parseDouble(tempString); tempString = JOptionPane.showInputDialog("Enter longitude"); longitude = Double.parseDouble(tempString); // Calculation distance = calcDistanceToDelta(latitude, longitude); // Build output message as String object and then display in dialog box outputMessage = "Latitude: " + latitude + ", Longitude: " + longitude; outputMessage += " is " ; outputMessage += distance + " miles from Delta College."; JOptionPane.showMessageDialog(null,outputMessage); System.exit(0); } // --------------------------------------------------------------------- // This one set of geographical coordinates. From these, it // calculates and returns the great circle distance between the // parameter location and Delta College. // Note: Western longitudes are negative // PRE: Latitude/longitude exist and are within valid ranges. // POST: Coordinate parameters are unchanged; return distance in miles // --------------------------------------------------------------------- public static double calcDistanceToDelta(double latitude, double longitude) { // Convert local variables to radians double la1 = Math.toRadians(DELTA_LATITUDE); double lo1 = Math.toRadians(DELTA_LONGITUDE); double la2 = Math.toRadians(latitude); double lo2 = Math.toRadians(longitude); // Calculate great circle distance and return return RADIUS_EARTH * Math.acos( Math.sin(la1) * Math.sin(la2) + Math.cos(la1) * Math.cos(la2) * Math.cos(lo2-lo1) ); } } zipMI.txt 48001 42.61500 -82.59780 MI Algonac 48002 42.93880 -82.91980 MI Allenton 48003 42.93400 -83.05250 MI Almont 48004 42.82410 -82.66520 MI Anchorville 48005 42.85010 -82.89500 MI Armada 48006 43.07510 -82.69550 MI Avoca 48007 42.60610 -83.29760 MI Troy 48009 42.53480 -83.22420 MI Birmingham 48012 42.60440 -83.29240 MI Birmingham 48014 43.02630 -82.92980 MI Capac 48015 42.48020 -83.02720 MI Center_Line 48017 42.53680 -83.14640 MI Clawson 48021 42.46500 -82.94430 MI Eastpointe 48022 43.03540 -82.80090 MI Emmett 48023 42.70230 -82.66880 MI Fair_Haven 48025 42.52020 -83.26400 MI Franklin 48026 42.53870 -82.94940 MI Fraser 48027 42.94430 -82.69160 MI Goodells 48028 42.59730 -82.59680 MI Harsens_Island 48030 42.49650 -83.09850 MI Hazel_Park 48032 43.12230 -82.59980 MI Jeddo 48034 42.47850 -83.27920 MI Southfield 48035 42.55120 -82.91670 MI Clinton_Township 48036 42.59380 -82.91330 MI Clinton_Township 48037 42.56750 -83.15000 MI Southfield 48038 42.62060 -82.96080 MI Clinton_Township 48039 42.68590 -82.54990 MI Marine_City 48040 42.78270 -82.49150 MI Marysville 48041 42.94100 -82.80460 MI Memphis 48042 42.67350 -82.91630 MI Macomb 48043 42.59800 -82.87770 MI Mount_Clemens 48044 42.64420 -82.89850 MI Macomb 48045 42.58770 -82.82150 MI Harrison_Township 48046 42.67230 -82.90310 MI Mount_Clemens 48047 42.60150 -82.82190 MI New_Baltimore 48048 42.74430 -82.80420 MI New_Haven 48049 43.03490 -82.57480 MI North_Street 48050 42.78590 -82.79790 MI New_Haven 48051 42.67520 -82.80910 MI New_Baltimore 48054 42.77690 -82.54370 MI East_China 48059 43.08880 -82.49050 MI Fort_Gratiot 48060 42.98400 -82.46750 MI Port_Huron 48061 42.82410 -82.66520 MI Port_Huron 48062 42.83890 -82.79960 MI Richmond 48063 42.88920 -82.66750 MI Columbus 48064 42.76740 -82.67280 MI Casco 48065 42.84000 -83.03880 MI Romeo 48066 42.50960 -82.93610 MI Roseville 48067 42.49250 -83.14540 MI Royal_Oak 48068 42.66010 -83.38630 MI Royal_Oak 48069 42.47140 -83.14400 MI Pleasant_Ridge 48070 42.48180 -83.16640 MI Huntington_Woods 48071 42.50530 -83.13610 MI Madison_Heights 48072 42.49920 -83.18110 MI Berkley 48073 42.52160 -83.16350 MI Royal_Oak 48074 42.90510 -82.56790 MI Smiths_Creek 48075 42.46220 -83.23060 MI Southfield 48076 42.49810 -83.20580 MI Southfield 48079 42.87620 -82.54770 MI Saint_Clair 48080 42.47060 -82.90220 MI Saint_Clair_Shores 48081 42.49410 -82.89900 MI Saint_Clair_Shores 48082 42.52690 -82.88410 MI Saint_Clair_Shores 48083 42.55600 -83.11920 MI Troy 48084 42.55470 -83.17690 MI Troy 48086 42.66010 -83.38630 MI Southfield 48089 42.47480 -82.99510 MI Warren 48090 42.67230 -82.90310 MI Warren 48091 42.47090 -83.05460 MI Warren 48092 42.51340 -83.05700 MI Warren 48093 42.51490 -83.00660 MI Warren 48094 42.75600 -83.03760 MI Washington 48095 42.76820 -83.03950 MI Washington 48096 42.75400 -82.91640 MI Ray 48097 42.87920 -82.73950 MI Yale 48098 42.59990 -83.14910 MI Troy 48099 42.58760 -83.17370 MI Troy 48101 42.27630 -83.19440 MI Allen_Park 48103 42.26660 -83.84900 MI Ann_Arbor 48104 42.27090 -83.72780 MI Ann_Arbor 48105 42.32310 -83.71390 MI Ann_Arbor 48106 42.25350 -83.83660 MI Ann_Arbor 48107 42.25350 -83.83660 MI Ann_Arbor 48108 42.22330 -83.72930 MI Ann_Arbor 48109 42.27630 -83.71120 MI Ann_Arbor 48110 42.00820 -83.66430 MI Azalia 48111 42.26400 -83.41630 MI Belleville 48112 42.23990 -83.15080 MI Belleville 48113 42.25350 -83.83660 MI Ann_Arbor 48114 42.54640 -83.87780 MI Brighton 48115 42.16020 -83.91170 MI Bridgewater 48116 42.52950 -83.77600 MI Brighton 48117 42.04130 -83.42890 MI Carleton 48118 42.31380 -84.01400 MI Chelsea 48120 42.31000 -83.17760 MI Dearborn 48121 42.23990 -83.15080 MI Dearborn 48122 42.35370 -83.22340 MI Melvindale 48123 42.23990 -83.15080 MI Dearborn 48124 42.29930 -83.24260 MI Dearborn 48125 42.34230 -83.29810 MI Dearborn_Heights 48126 42.27180 -83.22590 MI Dearborn 48127 42.33440 -83.27390 MI Dearborn_Heights 48128 42.31930 -83.25140 MI Dearborn 48130 42.35390 -83.89830 MI Dexter 48131 41.96490 -83.66880 MI Dundee 48133 41.79030 -83.50400 MI Erie 48134 42.11680 -83.30040 MI Flat_Rock 48135 42.32640 -83.34340 MI Garden_City 48136 42.23990 -83.15080 MI Garden_City 48137 42.49600 -84.08470 MI Gregory 48138 42.13520 -83.15610 MI Grosse_Ile 48139 42.45230 -83.81470 MI Hamburg 48140 41.88710 -83.58180 MI Ida 48141 42.29330 -83.31470 MI Inkster 48143 42.45730 -83.83660 MI Lakeland 48144 41.76000 -83.61850 MI Lambertville 48145 41.84550 -83.46240 MI La_Salle 48146 42.24200 -83.18040 MI Lincoln_Park 48150 42.36940 -83.37170 MI Livonia 48151 42.23990 -83.15080 MI Livonia 48152 42.42620 -83.37070 MI Livonia 48153 42.36790 -83.38480 MI Livonia 48154 42.37600 -83.39000 MI Livonia 48157 41.81340 -83.43600 MI Luna_Pier 48158 42.18310 -84.01380 MI Manchester 48159 42.04180 -83.55730 MI Maybee 48160 42.00150 -83.65980 MI Milan 48161 41.92800 -83.43070 MI Monroe 48162 41.92930 -83.44480 MI Monroe 48164 42.13520 -83.39040 MI New_Boston 48165 42.49810 -83.60870 MI New_Hudson 48166 41.92190 -83.33060 MI Newport 48167 42.41730 -83.43240 MI Northville 48169 42.46750 -83.94700 MI Pinckney 48170 42.36670 -83.48970 MI Plymouth 48173 42.11220 -83.27260 MI Rockwood 48174 42.20280 -83.35120 MI Romulus 48175 42.40560 -83.57810 MI Salem 48176 42.14760 -83.80240 MI Saline 48177 41.80770 -83.57930 MI Samaria 48178 42.47460 -83.61220 MI South_Lyon 48179 42.05110 -83.27100 MI South_Rockwood 48180 42.24580 -83.24910 MI Taylor 48182 41.79050 -83.58500 MI Temperance 48183 42.13820 -83.21790 MI Trenton 48184 42.26350 -83.39600 MI Wayne 48185 42.31510 -83.37310 MI Westland 48186 42.28900 -83.36860 MI Westland 48187 42.37410 -83.41810 MI Canton 48188 42.29170 -83.48580 MI Canton 48189 42.38690 -83.78370 MI Whitmore_Lake 48190 42.12440 -83.59460 MI Whittaker 48191 42.12960 -83.57000 MI Willis 48192 42.19500 -83.20660 MI Wyandotte 48195 42.25780 -83.28590 MI Southgate 48197 42.20210 -83.62050 MI Ypsilanti 48198 42.30970 -83.77300 MI Ypsilanti 48201 42.23990 -83.15080 MI Detroit 48202 42.23990 -83.15080 MI Detroit 48203 42.23990 -83.15080 MI Highland_Park 48204 42.23990 -83.15080 MI Detroit 48205 42.23990 -83.15080 MI Detroit 48206 42.23990 -83.15080 MI Detroit 48207 42.23990 -83.15080 MI Detroit 48208 42.23990 -83.15080 MI Detroit 48209 42.23990 -83.15080 MI Detroit 48210 42.32690 -83.14840 MI Detroit 48211 42.23990 -83.15080 MI Detroit 48212 42.23990 -83.15080 MI Hamtramck 48213 42.23990 -83.15080 MI Detroit 48214 42.23990 -83.15080 MI Detroit 48215 42.23990 -83.15080 MI Detroit 48216 42.33780 -83.16790 MI Detroit 48217 42.27300 -83.15260 MI Detroit 48218 42.26880 -83.13510 MI River_Rouge 48219 42.43720 -83.28750 MI Detroit 48220 42.46060 -83.14070 MI Ferndale 48221 42.23990 -83.15080 MI Detroit 48222 42.23990 -83.15080 MI Detroit 48223 42.39600 -83.27600 MI Detroit 48224 42.23990 -83.15080 MI Detroit 48225 42.23990 -83.15080 MI Harper_Woods 48226 42.23990 -83.15080 MI Detroit 48227 42.23990 -83.15080 MI Detroit 48228 42.33590 -83.21710 MI Detroit 48229 42.24980 -83.14310 MI Ecorse 48230 42.23990 -83.15080 MI Grosse_Pointe 48231 42.23990 -83.15080 MI Detroit 48232 42.23990 -83.15080 MI Detroit 48233 42.23990 -83.15080 MI Detroit 48234 42.23990 -83.15080 MI Detroit 48235 42.23990 -83.15080 MI Detroit 48236 42.23990 -83.15080 MI Grosse_Pointe 48237 42.46660 -83.17820 MI Oak_Park 48238 42.23990 -83.15080 MI Detroit 48239 42.39230 -83.28200 MI Redford 48240 42.42300 -83.30360 MI Redford 48242 42.21660 -83.35320 MI Detroit 48243 42.23990 -83.15080 MI Detroit 48244 42.23990 -83.15080 MI Detroit 48254 42.23990 -83.15080 MI Detroit 48255 42.23990 -83.15080 MI Detroit 48258 42.23990 -83.15080 MI Detroit 48260 42.23990 -83.15080 MI Detroit 48264 42.23990 -83.15080 MI Detroit 48265 42.23990 -83.15080 MI Detroit 48266 42.23990 -83.15080 MI Detroit 48267 42.23990 -83.15080 MI Detroit 48268 42.23990 -83.15080 MI Detroit 48269 42.23990 -83.15080 MI Detroit 48272 42.23990 -83.15080 MI Detroit 48274 42.23990 -83.15080 MI Detroit 48275 42.23990 -83.15080 MI Detroit 48277 42.23990 -83.15080 MI Detroit 48278 42.23990 -83.15080 MI Detroit 48279 42.23990 -83.15080 MI Detroit 48288 42.23990 -83.15080 MI Detroit 48295 42.23990 -83.15080 MI Detroit 48297 42.23990 -83.15080 MI Detroit 48299 42.23990 -83.15080 MI Detroit 48301 42.54450 -83.27920 MI Bloomfield_Hills 48302 42.58480 -83.28210 MI Bloomfield_Hills 48303 42.66010 -83.38630 MI Bloomfield_Hills 48304 42.58700 -83.23590 MI Bloomfield_Hills 48306 42.72620 -83.15660 MI Rochester 48307 42.65930 -83.12250 MI Rochester 48308 42.63850 -83.13140 MI Rochester 48309 42.66260 -83.18370 MI Rochester 48310 42.56440 -83.06850 MI Sterling_Heights 48311 42.67230 -82.90310 MI Sterling_Heights 48312 42.56630 -83.02850 MI Sterling_Heights 48313 42.60680 -83.01040 MI Sterling_Heights 48314 42.60400 -83.03630 MI Sterling_Heights 48315 42.67100 -82.99880 MI Utica 48316 42.68850 -83.05480 MI Utica 48317 42.64130 -83.05040 MI Utica 48318 42.67230 -82.90310 MI Utica 48320 42.61140 -83.33560 MI Keego_Harbor 48321 42.66010 -83.38630 MI Auburn_Hills 48322 42.54270 -83.37950 MI West_Bloomfield 48323 42.56830 -83.38050 MI West_Bloomfield 48324 42.59610 -83.38190 MI West_Bloomfield 48325 42.66010 -83.38630 MI West_Bloomfield 48326 42.67390 -83.29510 MI Auburn_Hills 48327 42.64480 -83.40610 MI Waterford 48328 42.64780 -83.35540 MI Waterford 48329 42.68260 -83.38630 MI Waterford 48330 42.67540 -83.36370 MI Drayton_Plains 48331 42.50510 -83.40720 MI Farmington 48332 42.66010 -83.38630 MI Farmington 48333 42.66010 -83.38630 MI Farmington 48334 42.50650 -83.34840 MI Farmington 48335 42.46170 -83.40530 MI Farmington 48336 42.46560 -83.36380 MI Farmington 48340 42.67030 -83.28900 MI Pontiac 48341 42.63370 -83.29150 MI Pontiac 48342 42.69420 -83.28850 MI Pontiac 48343 42.66010 -83.38630 MI Pontiac 48346 42.72390 -83.42320 MI Clarkston 48347 42.66010 -83.38630 MI Clarkston 48348 42.76050 -83.40400 MI Clarkston 48350 42.74960 -83.53580 MI Davisburg 48353 42.64850 -83.71780 MI Hartland 48356 42.70110 -83.42250 MI Highland 48357 42.65440 -83.56130 MI Highland 48359 42.72310 -83.27690 MI Lake_Orion 48360 42.74290 -83.27200 MI Lake_Orion 48361 42.66010 -83.38630 MI Lake_Orion 48362 42.77630 -83.27480 MI Lake_Orion 48363 42.76610 -83.15760 MI Oakland 48366 42.80330 -83.18410 MI Lakeville 48367 42.84370 -83.14060 MI Leonard 48370 42.84030 -83.20020 MI Oxford 48371 42.77220 -83.33980 MI Oxford 48374 42.46900 -83.52220 MI Novi 48375 42.46360 -83.46660 MI Novi 48376 42.47100 -83.47480 MI Novi 48377 42.49920 -83.47730 MI Novi 48380 42.59320 -83.64540 MI Milford 48381 42.55430 -83.57910 MI Milford 48382 42.58340 -83.50090 MI Commerce_Township 48383 42.65770 -83.53440 MI White_Lake 48386 42.65780 -83.47870 MI White_Lake 48387 42.72530 -83.31160 MI Union_Lake 48390 42.55820 -83.47730 MI Walled_Lake 48391 42.66010 -83.38630 MI Walled_Lake 48393 42.52050 -83.54910 MI Wixom 48397 42.49170 -83.04020 MI Warren 48398 42.66010 -83.38630 MI Clawson 48401 43.35160 -82.67080 MI Applegate 48410 43.55890 -82.94550 MI Argyle 48411 42.94000 -83.53690 MI Atlas 48412 43.06620 -83.25760 MI Attica 48413 43.79460 -82.94910 MI Bad_Axe 48414 42.86570 -84.08310 MI Bancroft 48415 43.27850 -83.81450 MI Birch_Run 48416 43.24260 -82.91880 MI Brown_City 48417 43.26400 -83.89340 MI Burt 48418 42.82630 -84.02060 MI Byron 48419 43.44370 -82.66390 MI Carsonville 48420 43.17050 -83.70740 MI Clio 48421 43.07240 -83.29270 MI Columbiaville 48422 43.25280 -82.64410 MI Croswell 48423 43.04200 -83.62280 MI Davison 48426 43.51750 -82.85340 MI Decker 48427 43.53510 -82.72250 MI Deckerville 48428 42.93760 -83.15470 MI Dryden 48429 42.89490 -84.02600 MI Durand 48430 42.83330 -83.76340 MI Fenton 48432 43.95260 -82.97330 MI Filion 48433 42.97830 -83.80800 MI Flushing 48434 43.66320 -82.61330 MI Forestville 48435 43.27770 -83.39200 MI Fostoria 48436 42.87250 -83.85850 MI Gaines 48437 43.01840 -83.69170 MI Genesee 48438 42.91880 -83.51250 MI Goodrich 48439 42.92270 -83.67380 MI Grand_Blanc 48440 42.93060 -83.36000 MI Hadley 48441 43.86730 -82.80030 MI Harbor_Beach 48442 42.77590 -83.57940 MI Holly 48444 43.06560 -83.06090 MI Imlay_City 48445 43.96150 -82.94430 MI Kinde 48446 43.12150 -83.31960 MI Lapeer 48449 42.98970 -83.90030 MI Lennon 48450 43.39220 -82.78890 MI Lexington 48451 42.82590 -83.81130 MI Linden 48453 43.35750 -83.00280 MI Marlette 48454 43.20470 -82.81050 MI Melvin 48455 42.94210 -83.29610 MI Metamora 48456 43.65130 -82.75600 MI Minden_City 48457 43.00400 -83.87320 MI Montrose 48458 43.12060 -83.69300 MI Mount_Morris 48460 43.10990 -83.99890 MI New_Lothrop 48461 43.11290 -83.25050 MI North_Branch 48462 42.83500 -83.42300 MI Ortonville 48463 43.15790 -83.52990 MI Otisville 48464 43.21170 -83.40570 MI Otter_Lake 48465 43.61460 -82.70750 MI Palms 48466 43.27490 -82.80720 MI Peck 48467 43.99760 -83.05260 MI Port_Austin 48468 43.94410 -82.90790 MI Port_Hope 48469 43.45890 -82.56690 MI Port_Sanilac 48470 43.74380 -82.74010 MI Ruth 48471 43.37470 -82.85900 MI Sandusky 48472 43.40400 -82.95150 MI Snover 48473 42.95030 -83.81260 MI Swartz_Creek 48475 43.80790 -83.02400 MI Ubly 48476 42.94060 -84.03280 MI Vernon 48501 42.96590 -83.78080 MI Flint 48502 43.01510 -83.69480 MI Flint 48503 43.01080 -83.69280 MI Flint 48504 43.02060 -83.69770 MI Flint 48505 43.07690 -83.69020 MI Flint 48506 43.06530 -83.63100 MI Flint 48507 42.98210 -83.73400 MI Flint 48509 43.02590 -83.60400 MI Burton 48519 42.98590 -83.61340 MI Burton 48529 42.97440 -83.66280 MI Burton 48531 43.00200 -83.69250 MI Flint 48532 43.01110 -83.80300 MI Flint 48550 43.03490 -83.68870 MI Flint 48551 42.97900 -83.71310 MI Flint 48552 42.97790 -83.71310 MI Flint 48553 42.97360 -83.72030 MI Flint 48554 42.97220 -83.79460 MI Flint 48555 43.01130 -83.71080 MI Flint 48556 43.03270 -83.64620 MI Flint 48557 43.08060 -83.78370 MI Flint 48559 43.00200 -83.69250 MI Flint 48601 43.41240 -83.88690 MI Saginaw 48602 43.42930 -84.05700 MI Saginaw 48603 43.46010 -84.02660 MI Saginaw 48604 43.48240 -83.96940 MI Saginaw 48605 43.45880 -84.05180 MI Saginaw 48606 43.34850 -84.03260 MI Saginaw 48607 43.43190 -83.93370 MI Saginaw 48608 43.34850 -84.03260 MI Saginaw 48609 43.38690 -84.09260 MI Saginaw 48610 44.32430 -84.16240 MI Alger 48611 43.63940 -84.05910 MI Auburn 48612 43.96520 -84.43610 MI Beaverton 48613 43.92670 -84.10530 MI Bentley 48614 43.23700 -84.28870 MI Brant 48615 43.38630 -84.46890 MI Breckenridge 48616 43.32950 -84.13620 MI Chesaning 48617 43.97610 -84.73970 MI Clare 48618 43.72030 -84.52030 MI Coleman 48619 44.75640 -84.04640 MI Comins 48620 43.77740 -84.38130 MI Edenville 48621 44.68930 -84.01200 MI Fairview 48622 43.95110 -84.86640 MI Farwell 48623 43.49690 -84.10240 MI Freeland 48624 44.03260 -84.42920 MI Gladwin 48625 44.00530 -84.85100 MI Harrison 48626 43.42850 -84.23010 MI Hemlock 48627 44.38710 -84.70130 MI Higgins_Lake 48628 43.77030 -84.40460 MI Hope 48629 44.35100 -84.73360 MI Houghton_Lake 48630 44.33210 -84.71950 MI Houghton_Lake_Height 48631 43.68840 -84.02640 MI Kawkawlin 48632 43.91420 -84.86760 MI Lake 48633 43.95830 -84.91930 MI Lake_George 48634 43.77140 -84.05130 MI Linwood 48635 44.37780 -84.07300 MI Lupton 48636 44.62280 -84.14820 MI Luzerne 48637 43.38960 -84.30940 MI Merrill 48640 43.62610 -84.33800 MI Midland 48641 43.53820 -84.38770 MI Midland 48642 43.68700 -84.28010 MI Midland 48647 44.66290 -84.08950 MI Mio 48649 43.16510 -84.20770 MI Oakley 48650 43.83920 -84.03870 MI Pinconning 48651 44.34350 -84.64710 MI Prudenville 48652 43.86880 -84.22850 MI Rhodes 48653 44.39450 -84.61120 MI Roscommon 48654 44.33440 -84.19070 MI Rose_City 48655 43.25680 -84.18050 MI Saint_Charles 48656 44.35990 -84.54360 MI Saint_Helen 48657 43.71210 -84.39950 MI Sanford 48658 43.97940 -83.90070 MI Standish 48659 44.07950 -83.95670 MI Sterling 48661 44.33100 -84.20270 MI West_Branch 48662 43.37900 -84.41930 MI Wheeler 48663 43.46730 -83.97550 MI Saginaw 48667 43.64730 -84.38730 MI Midland 48670 43.63750 -84.25680 MI Midland 48674 43.61290 -84.19710 MI Midland 48686 43.64730 -84.38730 MI Midland 48701 43.58210 -83.54610 MI Akron 48703 44.06360 -83.68640 MI Au_Gres 48705 44.67830 -83.60000 MI Barton_City 48706 43.60880 -83.95300 MI Bay_City 48707 43.73780 -83.93330 MI Bay_City 48708 43.55960 -83.82090 MI Bay_City 48710 43.55660 -83.99430 MI University_Center 48720 43.81520 -83.34180 MI Bay_Port 48721 44.79490 -83.34880 MI Black_River 48722 43.34300 -83.83230 MI Bridgeport 48723 43.48900 -83.38510 MI Caro 48724 43.46500 -83.92550 MI Carrollton 48725 43.84950 -83.23290 MI Caseville 48726 43.58610 -83.29350 MI Cass_City 48727 43.28300 -83.17820 MI Clifford 48728 44.70560 -83.78750 MI Curran 48729 43.49200 -83.19820 MI Deford 48730 44.34960 -83.56290 MI East_Tawas 48731 43.82620 -83.14160 MI Elkton 48732 43.60150 -83.77900 MI Essexville 48733 43.53450 -83.57370 MI Fairgrove 48734 43.35380 -83.75650 MI Frankenmuth 48735 43.59910 -83.34060 MI Gagetown 48736 43.49440 -83.62440 MI Gilford 48737 44.57340 -83.70830 MI Glennie 48738 44.55780 -83.33840 MI Greenbush 48739 44.35880 -83.76470 MI Hale 48740 44.65670 -83.41970 MI Harrisville 48741 43.39860 -83.19500 MI Kingston 48742 44.65920 -83.45490 MI Lincoln 48743 44.44160 -83.85160 MI Long_Lake 48744 43.34490 -83.36790 MI Mayville 48745 44.57810 -83.59140 MI Mikado 48746 43.29740 -83.47390 MI Millington 48747 43.52930 -83.76290 MI Munger 48748 44.28080 -83.71750 MI National_City 48749 44.06590 -83.84650 MI Omer 48750 44.42290 -83.55090 MI Oscoda 48754 43.76890 -83.22820 MI Owendale 48755 43.84450 -83.24190 MI Pigeon 48756 44.29170 -83.98570 MI Prescott 48757 43.47870 -83.61940 MI Reese 48758 43.40730 -83.67620 MI Richville 48759 43.73620 -83.38190 MI Sebewaing 48760 43.28520 -83.26150 MI Silverwood 48761 44.47240 -83.95980 MI South_Branch 48762 44.79230 -83.48940 MI Spruce 48763 44.27750 -83.67710 MI Tawas_City 48764 44.26650 -83.51920 MI Tawas_City 48765 44.11050 -83.70190 MI Turner 48766 44.10490 -83.86570 MI Twining 48767 43.64950 -83.45280 MI Unionville 48768 43.40460 -83.56120 MI Vassar 48769 43.32700 -83.65730 MI Tuscola 48770 44.26280 -83.68880 MI Whittemore 48787 43.33500 -83.74940 MI Frankenmuth 48801 43.29880 -84.63020 MI Alma 48802 43.38930 -84.66670 MI Alma 48804 43.64060 -84.84740 MI Mount_Pleasant 48805 42.59920 -84.37200 MI Okemos 48806 43.20470 -84.49410 MI Ashley 48807 43.16130 -84.43370 MI Bannister 48808 42.81950 -84.48380 MI Bath 48809 42.98000 -85.12870 MI Belding 48811 43.28000 -85.05490 MI Carson_City 48812 43.41380 -84.97530 MI Cedar_Lake 48813 42.57420 -84.83840 MI Charlotte 48815 42.83500 -85.25230 MI Clarksville 48816 42.75760 -83.93900 MI Cohoctah 48817 42.99560 -84.14000 MI Corunna 48818 43.26700 -84.95490 MI Crystal 48819 42.54920 -84.27380 MI Dansville 48820 42.85480 -84.61610 MI Dewitt 48821 42.65430 -84.65420 MI Dimondale 48822 42.85700 -84.75920 MI Eagle 48823 42.73730 -84.50350 MI East_Lansing 48824 42.72830 -84.48820 MI East_Lansing 48825 42.72380 -84.46480 MI East_Lansing 48826 42.59920 -84.37200 MI East_Lansing 48827 42.59020 -84.79700 MI Eaton_Rapids 48829 43.40110 -85.02230 MI Edmore 48830 43.36390 -84.83620 MI Elm_Hall 48831 43.08140 -84.44560 MI Elsie 48832 43.40810 -84.77580 MI Elwell 48833 42.94420 -84.60070 MI Eureka 48834 43.29300 -85.04520 MI Fenwick 48835 42.99330 -84.76120 MI Fowler 48836 42.64170 -84.05420 MI Fowlerville 48837 42.70000 -84.76680 MI Grand_Ledge 48838 43.28250 -85.07770 MI Greenville 48840 42.75030 -84.37860 MI Haslett 48841 42.98310 -84.22990 MI Henderson 48842 42.63980 -84.50650 MI Holt 48843 42.63070 -83.91030 MI Howell 48844 42.60350 -83.91120 MI Howell 48845 43.09050 -84.89620 MI Hubbardston 48846 42.97340 -85.09060 MI Ionia 48847 43.24950 -84.60380 MI Ithaca 48848 42.87990 -84.31330 MI Laingsburg 48849 42.82770 -85.14330 MI Lake_Odessa 48850 43.39870 -85.17580 MI Lakeview 48851 42.95680 -84.95810 MI Lyons 48852 43.35030 -85.05170 MI Mcbrides 48853 43.09920 -84.68980 MI Maple_Rapids 48854 42.57430 -84.46030 MI Mason 48856 43.19790 -84.73070 MI Middleton 48857 42.84430 -84.13610 MI Morrice 48858 43.63680 -84.80750 MI Mount_Pleasant 48859 43.56470 -84.84730 MI Mount_Pleasant 48860 43.04680 -84.90050 MI Muir 48861 42.72420 -84.91620 MI Mulliken 48862 43.35650 -84.49710 MI North_Star 48863 42.60350 -83.91120 MI Oak_Grove 48864 42.71950 -84.42510 MI Okemos 48865 43.07880 -85.10240 MI Orleans 48866 43.01590 -84.52880 MI Ovid 48867 42.98260 -84.18490 MI Owosso 48870 43.11360 -85.00770 MI Palo 48871 43.16260 -84.67970 MI Perrinton 48872 42.82330 -84.21120 MI Perry 48873 42.97000 -84.91610 MI Pewamo 48874 43.18630 -84.60170 MI Pompeii 48875 42.88350 -84.96600 MI Portland 48876 42.64380 -84.72970 MI Potterville 48877 43.38280 -84.81610 MI Riverdale 48878 43.70920 -84.77090 MI Rosebush 48879 42.97970 -84.58200 MI Saint_Johns 48880 43.32480 -84.60300 MI Saint_Louis 48881 42.93570 -85.20300 MI Saranac 48882 42.80400 -84.29600 MI Shaftsburg 48883 43.53090 -84.75680 MI Shepherd 48884 43.20630 -85.06910 MI Sheridan 48885 43.23540 -85.19140 MI Sidney 48886 43.34140 -85.17700 MI Six_Lakes 48887 42.94490 -85.07470 MI Smyrna 48888 43.28930 -85.05960 MI Stanton 48889 43.26900 -84.66080 MI Sumner 48890 42.70320 -84.89680 MI Sunfield 48891 43.29460 -84.95590 MI Vestaburg 48892 42.65650 -84.20090 MI Webberville 48893 43.67590 -84.97780 MI Weidman 48894 42.93280 -84.80830 MI Westphalia 48895 42.68040 -84.27120 MI Williamston 48896 43.53080 -84.90630 MI Winn 48897 42.69790 -85.13370 MI Woodland 48901 42.59920 -84.37200 MI Lansing 48906 42.75530 -84.56300 MI Lansing 48907 42.59610 -84.83820 MI Lansing 48908 42.59610 -84.83820 MI Lansing 48909 42.59920 -84.37200 MI Lansing 48910 42.70340 -84.51850 MI Lansing 48911 42.68030 -84.54350 MI Lansing 48912 42.74010 -84.52490 MI Lansing 48913 42.59920 -84.37200 MI Lansing 48915 42.73880 -84.57120 MI Lansing 48916 42.59920 -84.37200 MI Lansing 48917 42.72240 -84.65200 MI Lansing 48918 42.59920 -84.37200 MI Lansing 48919 42.72860 -84.55170 MI Lansing 48921 42.72370 -84.55560 MI Lansing 48922 42.73250 -84.55870 MI Lansing 48924 42.59920 -84.37200 MI Lansing 48929 42.73250 -84.55870 MI Lansing 48930 42.73250 -84.55870 MI Lansing 48933 42.73140 -84.55370 MI Lansing 48937 42.74870 -84.55900 MI Lansing 48950 42.59920 -84.37200 MI Lansing 48956 42.73250 -84.55870 MI Lansing 48980 42.59920 -84.37200 MI Lansing 49001 42.26160 -85.51010 MI Kalamazoo 49002 42.19380 -85.56390 MI Portage 49003 42.24540 -85.52990 MI Kalamazoo 49004 42.30690 -85.56820 MI Kalamazoo 49005 42.32310 -85.49320 MI Kalamazoo 49006 42.29230 -85.63300 MI Kalamazoo 49007 42.24280 -85.56030 MI Kalamazoo 49008 42.26300 -85.61800 MI Kalamazoo 49009 42.29920 -85.59260 MI Kalamazoo 49010 42.53930 -85.89490 MI Allegan 49011 42.11900 -85.21430 MI Athens 49012 42.35370 -85.34660 MI Augusta 49013 42.31280 -86.09610 MI Bangor 49014 42.30300 -85.13040 MI Battle_Creek 49015 42.21930 -85.22920 MI Battle_Creek 49016 42.24640 -85.00450 MI Battle_Creek 49017 42.36740 -85.19500 MI Battle_Creek 49018 42.24640 -85.00450 MI Battle_Creek 49019 42.24540 -85.52990 MI Kalamazoo 49020 42.24640 -85.00450 MI Bedford 49021 42.51420 -85.01470 MI Bellevue 49022 42.14340 -86.34860 MI Benton_Harbor 49023 42.00150 -86.71530 MI Benton_Harbor 49024 42.19740 -85.61930 MI Portage 49026 42.36770 -85.96470 MI Bloomingdale 49027 42.34650 -86.07250 MI Breedsville 49028 41.88040 -85.16280 MI Bronson 49029 42.13080 -85.10230 MI Burlington 49030 41.83980 -85.36540 MI Burr_Oak 49031 41.90420 -85.99910 MI Cassopolis 49032 41.90450 -85.47990 MI Centreville 49033 42.23570 -85.09060 MI Ceresco 49034 42.22620 -85.36320 MI Climax 49035 42.59510 -85.30850 MI Cloverdale 49036 41.90540 -85.05870 MI Coldwater 49038 42.14750 -86.36560 MI Coloma 49039 42.22480 -86.37230 MI Hagar_Shores 49040 41.97780 -85.35110 MI Colon 49041 42.24540 -85.52990 MI Comstock 49042 41.93700 -85.53310 MI Constantine 49043 42.28050 -86.26660 MI Covert 49045 42.17450 -86.07140 MI Decatur 49046 42.53270 -85.38490 MI Delton 49047 41.96160 -86.01930 MI Dowagiac 49050 42.60560 -85.33990 MI Dowling 49051 42.17790 -85.23430 MI East_Leroy 49052 42.13340 -85.34250 MI Fulton 49053 42.30320 -85.39580 MI Galesburg 49055 42.35780 -85.85920 MI Gobles 49056 42.36750 -86.07130 MI Grand_Junction 49057 42.21850 -86.05240 MI Hartford 49058 42.63910 -85.28990 MI Hastings 49060 42.50010 -85.39620 MI Hickory_Corners 49061 41.88580 -85.83380 MI Jones 49062 42.36180 -85.81410 MI Kendall 49063 42.39360 -86.20990 MI Lacota 49064 42.21490 -86.04710 MI Lawrence 49065 42.18520 -86.01180 MI Lawton 49066 42.02820 -85.35220 MI Leonidas 49067 42.00860 -85.85760 MI Marcellus 49068 42.26500 -84.94900 MI Marshall 49069 42.20450 -84.94990 MI Marshall 49070 42.53710 -85.62690 MI Martin 49071 42.24450 -85.80500 MI Mattawan 49072 42.00910 -85.44970 MI Mendon 49073 42.62110 -85.19740 MI Nashville 49074 42.29770 -85.60210 MI Nazareth 49075 41.91850 -85.45290 MI Nottawa 49076 42.55970 -84.92260 MI Olivet 49077 42.24540 -85.52990 MI Oshtemo 49078 42.48610 -85.72460 MI Otsego 49079 42.24300 -85.93080 MI Paw_Paw 49080 42.47960 -85.63350 MI Plainwell 49081 42.17180 -85.61780 MI Portage 49082 41.94910 -85.03220 MI Quincy 49083 42.37610 -85.45480 MI Richland 49084 42.17800 -86.38560 MI Riverside 49085 41.97740 -86.53310 MI Saint_Joseph 49087 42.13510 -85.65690 MI Schoolcraft 49088 42.25500 -85.42440 MI Scotts 49089 42.00060 -85.22520 MI Sherwood 49090 42.36380 -86.13890 MI South_Haven 49091 41.84290 -85.47830 MI Sturgis 49092 42.13420 -84.97280 MI Tekonsha 49093 41.92900 -85.53820 MI Three_Rivers 49094 42.02530 -85.07880 MI Union_City 49095 41.93650 -85.88580 MI Vandalia 49096 42.63990 -85.00470 MI Vermontville 49097 42.17950 -85.47340 MI Vicksburg 49098 42.16140 -86.27190 MI Watervliet 49099 41.85930 -85.55320 MI White_Pigeon 49101 41.94960 -86.47550 MI Baroda 49102 41.95500 -86.26810 MI Berrien_Center 49103 41.90740 -86.47260 MI Berrien_Springs 49104 42.00150 -86.71530 MI Berrien_Springs 49106 41.94220 -86.54460 MI Bridgman 49107 41.84140 -86.42930 MI Buchanan 49111 42.02760 -86.29910 MI Eau_Claire 49112 41.80700 -85.99720 MI Edwardsburg 49113 41.81150 -86.49920 MI Galien 49115 41.87710 -86.63020 MI Harbert 49116 41.83360 -86.66220 MI Lakeside 49117 41.79270 -86.74600 MI New_Buffalo 49119 41.86880 -86.54740 MI New_Troy 49120 41.84470 -86.42100 MI Niles 49121 42.00150 -86.71530 MI Niles 49125 41.89970 -86.57130 MI Sawyer 49126 42.02950 -86.37820 MI Sodus 49127 42.00740 -86.50810 MI Stevensville 49128 41.82750 -86.60050 MI Three_Oaks 49129 41.82550 -86.68480 MI Union_Pier 49130 41.80060 -85.86600 MI Union 49201 42.24900 -84.42110 MI Jackson 49202 42.27560 -84.39820 MI Jackson 49203 42.18690 -84.46470 MI Jackson 49204 42.25280 -84.21380 MI Jackson 49220 41.98540 -84.31450 MI Addison 49221 41.88990 -84.06590 MI Adrian 49224 42.29060 -84.79290 MI Albion 49227 41.95630 -84.76790 MI Allen 49228 41.85260 -83.87390 MI Blissfield 49229 41.99790 -83.85790 MI Britton 49230 42.16040 -84.38880 MI Brooklyn 49232 41.74740 -84.63850 MI Camden 49233 42.04810 -84.31500 MI Cement_City 49234 42.11960 -84.36910 MI Clarklake 49235 41.93060 -84.15620 MI Clayton 49236 42.06190 -83.95760 MI Clinton 49237 42.18600 -84.64190 MI Concord 49238 41.90030 -83.81780 MI Deerfield 49239 41.78250 -84.60470 MI Frontier 49240 42.25850 -84.34430 MI Grass_Lake 49241 42.11130 -84.60160 MI Hanover 49242 41.85390 -84.58290 MI Hillsdale 49245 42.14430 -84.84820 MI Homer 49246 42.13110 -84.47910 MI Horton 49247 41.87040 -84.09600 MI Hudson 49248 41.77040 -84.00110 MI Jasper 49249 42.02960 -84.46870 MI Jerome 49250 41.89870 -84.58560 MI Jonesville 49251 42.47820 -84.40710 MI Leslie 49252 42.02910 -84.61920 MI Litchfield 49253 41.97040 -84.27040 MI Manitou_Beach 49254 42.20880 -84.46590 MI Michigan_Center 49255 41.79260 -84.90090 MI Montgomery 49256 41.84740 -84.22900 MI Morenci 49257 42.05480 -84.50390 MI Moscow 49258 41.88480 -84.59350 MI Mosherville 49259 42.36040 -84.23310 MI Munith 49261 42.16430 -84.24580 MI Napoleon 49262 41.96390 -84.47310 MI North_Adams 49263 42.15820 -84.18380 MI Norvell 49264 42.47280 -84.54170 MI Onondaga 49265 42.00750 -84.18210 MI Onsted 49266 41.83290 -84.54850 MI Osseo 49267 41.77270 -83.70480 MI Ottawa_Lake 49268 41.86960 -83.92000 MI Palmyra 49269 42.25790 -84.58070 MI Parma 49270 41.86500 -83.67070 MI Petersburg 49271 41.85490 -84.45260 MI Pittsford 49272 42.38780 -84.34760 MI Pleasant_Lake 49274 41.84690 -84.72840 MI Reading 49275 41.98800 -83.86570 MI Ridgeway 49276 41.79150 -83.81420 MI Riga 49277 42.38460 -84.46510 MI Rives_Junction 49278 41.91230 -84.32650 MI Rollin 49279 41.77580 -84.11210 MI Sand_Creek 49280 41.79580 -84.18660 MI Seneca 49281 42.02300 -84.37940 MI Somerset 49282 42.05020 -84.39220 MI Somerset_Center 49283 42.27290 -84.60560 MI Spring_Arbor 49284 42.37820 -84.63010 MI Springport 49285 42.49670 -84.24310 MI Stockbridge 49286 42.00840 -83.92220 MI Tecumseh 49287 42.02170 -84.06500 MI Tipton 49288 41.74310 -84.44750 MI Waldron 49289 41.76820 -84.10760 MI Weston 49301 42.96380 -85.48230 MI Ada 49302 42.85610 -85.40290 MI Alto 49303 43.27220 -85.85450 MI Bailey 49304 43.92920 -85.84080 MI Baldwin 49305 43.73750 -85.16630 MI Barryton 49306 43.07500 -85.56320 MI Belmont 49307 43.68350 -85.35180 MI Big_Rapids 49309 43.71220 -85.86040 MI Bitely 49310 43.55280 -84.96700 MI Blanchard 49311 42.63300 -85.64300 MI Bradley 49312 43.66600 -85.79110 MI Brohman 49314 42.73120 -85.84040 MI Burnips 49315 42.83580 -85.66440 MI Byron_Center 49316 42.81870 -85.52440 MI Caledonia 49317 43.07120 -85.48090 MI Cannonsburg 49318 43.23470 -85.84010 MI Casnovia 49319 43.17590 -85.51410 MI Cedar_Springs 49320 43.75530 -85.27830 MI Chippewa_Lake 49321 43.08120 -85.67960 MI Comstock_Park 49322 43.35950 -85.35320 MI Coral 49323 42.72160 -85.78870 MI Dorr 49325 42.73890 -85.36440 MI Freeport 49326 43.31100 -85.21070 MI Gowen 49327 43.53900 -85.85040 MI Grant 49328 42.62370 -85.78030 MI Hopkins 49329 43.38200 -85.44280 MI Howard_City 49330 43.23510 -85.67020 MI Kent_City 49331 42.96940 -85.38410 MI Lowell 49332 43.60080 -85.31330 MI Mecosta 49333 42.67030 -85.42730 MI Middleville 49335 42.73700 -85.66350 MI Moline 49336 43.52200 -85.42330 MI Morley 49337 43.44490 -85.73900 MI Newaygo 49338 43.72780 -85.36540 MI Paris 49339 43.36850 -85.47310 MI Pierson 49340 43.63790 -85.19890 MI Remus 49341 43.13240 -85.55160 MI Rockford 49342 43.69120 -85.31850 MI Rodney 49343 43.25830 -85.50450 MI Sand_Lake 49344 42.61280 -85.61280 MI Shelbyville 49345 43.15770 -85.68350 MI Sparta 49346 43.59090 -85.40370 MI Stanwood 49347 43.33090 -85.41440 MI Trufant 49348 42.68510 -85.64240 MI Wayland 49349 43.61150 -85.79800 MI White_Cloud 49351 43.03140 -85.55030 MI Rockford 49355 43.03140 -85.55030 MI Ada 49356 43.03140 -85.55030 MI Ada 49357 43.03140 -85.55030 MI Ada 49401 42.97950 -85.93930 MI Allendale 49402 43.96760 -85.98000 MI Branch 49403 43.11820 -85.84840 MI Conklin 49404 43.06210 -85.95980 MI Coopersville 49405 43.93240 -86.17770 MI Custer 49406 42.63690 -86.20220 MI Douglas 49408 42.54280 -86.11850 MI Fennville 49409 43.08090 -86.21540 MI Ferrysburg 49410 44.03010 -86.14250 MI Fountain 49411 44.07190 -86.25270 MI Free_Soil 49412 43.51350 -85.91320 MI Fremont 49413 43.55430 -85.80090 MI Fremont 49415 43.27550 -86.07660 MI Fruitport 49416 42.63050 -86.07200 MI Glenn 49417 43.00880 -86.12900 MI Grand_Haven 49418 42.88270 -85.75310 MI Grandville 49419 42.69390 -85.98100 MI Hamilton 49420 43.70100 -86.33410 MI Hart 49421 43.57430 -86.22320 MI Hesperia 49422 42.98560 -86.44470 MI Holland 49423 42.81260 -86.03720 MI Holland 49424 42.92460 -86.12190 MI Holland 49425 43.41720 -86.13030 MI Holton 49426 42.86160 -85.93590 MI Hudsonville 49427 42.82670 -85.84440 MI Jamestown 49428 42.91850 -85.84260 MI Jenison 49429 42.89350 -85.83140 MI Jenison 49430 43.01030 -85.89750 MI Lamont 49431 43.99890 -86.34940 MI Ludington 49434 42.76970 -86.20550 MI Macatawa 49435 43.02370 -85.84400 MI Marne 49436 43.68150 -86.46900 MI Mears 49437 43.42400 -86.33950 MI Montague 49440 43.23380 -86.23290 MI Muskegon 49441 43.24590 -86.26400 MI Muskegon 49442 43.23730 -86.14770 MI Muskegon 49443 43.29550 -86.46880 MI Muskegon 49444 43.24580 -86.18570 MI Muskegon 49445 43.29520 -86.27900 MI Muskegon 49446 43.53670 -86.32290 MI New_Era 49448 43.08020 -86.06850 MI Nunica 49449 43.72860 -86.29200 MI Pentwater 49450 42.48370 -86.06650 MI Pullman 49451 43.20600 -85.96810 MI Ravenna 49452 43.62640 -86.23370 MI Rothbury 49453 42.64560 -86.16550 MI Saugatuck 49454 43.94040 -86.26350 MI Scottville 49455 43.63830 -86.34930 MI Shelby 49456 43.07660 -86.19540 MI Spring_Lake 49457 43.35800 -86.15770 MI Twin_Lake 49458 43.94940 -86.10420 MI Walhalla 49459 43.72190 -86.14110 MI Walkerville 49460 42.92950 -86.09520 MI West_Olive 49461 43.34580 -86.32710 MI Whitehall 49463 43.29550 -86.46880 MI Wabaningo 49464 42.86980 -85.96970 MI Zeeland 49468 43.03140 -85.55030 MI Grandville 49501 42.98420 -85.62910 MI Grand_Rapids 49502 43.03140 -85.55030 MI Grand_Rapids 49503 42.95620 -85.66070 MI Grand_Rapids 49504 42.97370 -85.72650 MI Grand_Rapids 49505 43.01780 -85.61160 MI Grand_Rapids 49506 42.94360 -85.57710 MI Grand_Rapids 49507 42.93080 -85.65700 MI Grand_Rapids 49508 42.88940 -85.62190 MI Grand_Rapids 49509 42.89990 -85.71010 MI Grand_Rapids 49510 43.03140 -85.55030 MI Grand_Rapids 49512 42.88020 -85.53520 MI Grand_Rapids 49514 43.03140 -85.55030 MI Grand_Rapids 49515 43.03140 -85.55030 MI Grand_Rapids 49516 43.03140 -85.55030 MI Grand_Rapids 49518 43.03140 -85.55030 MI Grand_Rapids 49523 43.03140 -85.55030 MI Grand_Rapids 49525 43.01350 -85.60270 MI Grand_Rapids 49530 43.03140 -85.55030 MI Grand_Rapids 49544 43.00730 -85.72550 MI Grand_Rapids 49546 42.93010 -85.53900 MI Grand_Rapids 49548 42.86480 -85.61520 MI Grand_Rapids 49550 43.03140 -85.55030 MI Grand_Rapids 49555 43.03140 -85.55030 MI Grand_Rapids 49560 43.03140 -85.55030 MI Grand_Rapids 49588 43.03140 -85.55030 MI Grand_Rapids 49599 43.03140 -85.55030 MI Grand_Rapids 49601 44.33530 -85.54910 MI Cadillac 49610 44.78940 -85.48840 MI Acme 49611 44.98330 -84.96180 MI Alba 49612 44.90060 -85.23290 MI Alden 49613 44.47880 -86.20940 MI Arcadia 49614 44.39670 -86.11670 MI Bear_Lake 49615 44.99720 -85.19870 MI Bellaire 49616 44.57450 -86.07940 MI Benzonia 49617 44.63060 -86.00250 MI Beulah 49618 44.28970 -85.67550 MI Boon 49619 44.30920 -85.97250 MI Brethren 49620 44.46510 -85.68150 MI Buckley 49621 44.86050 -85.81380 MI Cedar 49622 45.07600 -85.25590 MI Central_Lake 49623 43.95220 -85.67270 MI Chase 49625 44.42760 -86.02820 MI Copemish 49626 44.24130 -86.29130 MI Eastlake 49627 45.08810 -85.32190 MI Eastport 49628 44.59950 -86.21410 MI Elberta 49629 44.92900 -85.31950 MI Elk_Rapids 49630 44.83790 -85.97650 MI Empire 49631 43.95810 -85.30210 MI Evart 49632 44.24220 -85.04370 MI Falmouth 49633 44.58450 -85.39400 MI Fife_Lake 49634 44.23820 -86.05800 MI Filer_City 49635 44.61310 -86.17730 MI Frankfort 49636 44.87340 -85.98870 MI Glen_Arbor 49637 44.63410 -85.70350 MI Grawn 49638 44.28030 -85.71070 MI Harrietta 49639 43.98190 -85.36050 MI Hersey 49640 44.69000 -86.05040 MI Honor 49642 43.88720 -85.77590 MI Idlewild 49643 44.63360 -85.78230 MI Interlochen 49644 44.09200 -85.90660 MI Irons 49645 44.37790 -86.04120 MI Kaleva 49646 44.69710 -85.09290 MI Kalkaska 49648 45.00700 -85.35540 MI Kewadin 49649 44.57750 -85.53020 MI Kingsley 49650 44.72200 -85.88240 MI Lake_Ann 49651 44.37670 -85.09460 MI Lake_City 49653 44.98040 -85.73620 MI Lake_Leelanau 49654 44.98940 -85.77020 MI Leland 49655 44.01340 -85.32550 MI Leroy 49656 44.04210 -85.71290 MI Luther 49657 44.25830 -85.15440 MI Mc_Bain 49659 44.94790 -85.12260 MI Mancelona 49660 44.26350 -86.18250 MI Manistee 49663 44.41280 -85.46830 MI Manton 49664 44.86930 -85.90230 MI Maple_City 49665 43.98990 -85.27110 MI Marion 49666 44.62500 -85.54250 MI Mayfield 49667 44.34330 -84.94460 MI Merritt 49668 44.39910 -85.62970 MI Mesick 49670 45.12220 -85.61850 MI Northport 49673 44.95590 -85.49000 MI Old_Mission 49674 45.06660 -85.59740 MI Omena 49675 44.41820 -86.22220 MI Onekama 49676 44.80390 -85.25060 MI Rapid_City 49677 43.95200 -85.41470 MI Reed_City 49679 43.96380 -85.18730 MI Sears 49680 44.63440 -85.25290 MI South_Boardman 49682 44.98860 -85.64410 MI Suttons_Bay 49683 44.58680 -85.93200 MI Thompsonville 49684 44.69400 -85.67630 MI Traverse_City 49685 44.81620 -85.57510 MI Traverse_City 49686 44.78490 -85.49070 MI Traverse_City 49688 44.11200 -85.40510 MI Tustin 49689 44.33020 -86.02720 MI Wellston 49690 44.76720 -85.42760 MI Williamsburg 49696 44.81620 -85.57510 MI Traverse_City 49701 45.75300 -84.69170 MI Mackinaw_City 49705 45.36650 -84.42990 MI Afton 49706 45.53980 -84.80580 MI Alanson 49707 45.03310 -83.49510 MI Alpena 49709 45.03060 -84.17310 MI Atlanta 49710 46.27840 -84.19690 MI Barbeau 49711 45.52340 -85.33200 MI Bay_Shore 49712 45.22650 -85.01690 MI Boyne_City 49713 45.20390 -84.84810 MI Boyne_Falls 49715 46.38910 -84.69810 MI Brimley 49716 45.50700 -84.70390 MI Brutus 49717 45.43070 -84.69120 MI Burt_Lake 49718 45.59630 -84.85140 MI Carp_Lake 49719 46.00720 -84.27620 MI Cedarville 49720 45.26540 -85.22970 MI Charlevoix 49721 45.59280 -84.46860 MI Cheboygan 49722 45.42360 -84.85240 MI Conway 49723 45.62540 -85.04190 MI Cross_Village 49724 46.31160 -84.61710 MI Dafter 49725 45.99720 -83.92390 MI De_Tour_Village 49726 46.01150 -83.69250 MI Drummond_Island 49727 45.20400 -85.10280 MI East_Jordan 49728 46.33240 -85.17610 MI Eckerman 49729 45.15650 -85.30380 MI Ellsworth 49730 45.02400 -84.75540 MI Elmira 49733 44.78670 -84.69780 MI Frederic 49734 45.02840 -84.61220 MI Gaylord 49735 45.00090 -84.62460 MI Gaylord 49736 46.07900 -84.14500 MI Goetzville 49737 45.58020 -85.11370 MI Good_Hart 49738 44.69180 -84.61290 MI Grayling 49739 44.68300 -84.61040 MI Grayling 49740 45.55420 -84.92580 MI Harbor_Springs 49743 45.28350 -83.87370 MI Hawks 49744 44.99630 -83.66760 MI Herron 49745 46.02170 -84.42850 MI Hessel 49746 45.05960 -84.02270 MI Hillman 49747 44.90970 -83.60890 MI Hubbard_Lake 49748 46.39080 -85.17640 MI Hulbert 49749 45.44720 -84.57800 MI Indian_River 49751 44.96320 -84.50600 MI Johannesburg 49752 46.25960 -84.64730 MI Kinross 49753 45.01310 -83.76200 MI Lachine 49755 45.59260 -84.86320 MI Levering 49756 44.91310 -84.21860 MI Lewiston 49757 45.85370 -84.61820 MI Mackinac_Island 49759 45.43100 -84.08540 MI Millersburg 49760 46.07040 -84.99260 MI Moran 49761 45.55950 -84.52210 MI Mullett_Lake 49762 46.10950 -85.34590 MI Naubinway 49764 45.48030 -84.81460 MI Oden 49765 45.36330 -83.87160 MI Onaway 49766 45.02830 -83.53660 MI Ossineke 49768 46.59510 -85.09730 MI Paradise 49769 45.56610 -84.86320 MI Pellston 49770 45.35590 -84.91330 MI Petoskey 49774 46.18000 -84.31540 MI Pickford 49775 45.96910 -84.99120 MI Pointe_Aux_Pins 49776 45.27890 -83.73460 MI Posen 49777 45.28310 -83.58610 MI Presque_Isle 49778 46.41080 -84.33650 MI Brimley 49779 45.38420 -83.74980 MI Rogers_City 49780 46.25850 -84.80040 MI Rudyard 49781 45.99850 -84.69780 MI Saint_Ignace 49782 45.66840 -85.54730 MI Beaver_Island 49783 46.35740 -84.58730 MI Sault_Sainte_Marie 49784 46.41080 -84.33650 MI Kincheloe 49785 46.18140 -84.40540 MI Kincheloe 49786 46.41080 -84.33650 MI Kincheloe 49788 46.28840 -84.54160 MI Kincheloe 49790 46.38740 -84.96680 MI Strongs 49791 45.48380 -84.59360 MI Topinabee 49792 45.35880 -84.29530 MI Tower 49793 46.21590 -85.00680 MI Trout_Lake 49795 45.13970 -84.55260 MI Vanderbilt 49796 45.24540 -84.93820 MI Walloon_Lake 49797 44.87020 -84.65990 MI Waters 49799 45.32680 -84.54950 MI Wolverine 49801 46.02160 -87.87450 MI Iron_Mountain 49802 45.80790 -88.08430 MI Kingsford 49805 47.28790 -88.41290 MI Allouez 49806 46.44460 -86.91150 MI Au_Train 49807 45.69560 -87.20730 MI Bark_River 49808 46.77080 -87.67260 MI Big_Bay 49812 45.60190 -87.51910 MI Carney 49813 45.44380 -87.40160 MI Cedar_River 49814 46.46660 -87.92040 MI Champion 49815 46.17820 -87.93430 MI Channing 49816 46.33700 -86.99360 MI Chatham 49817 45.91580 -86.47330 MI Cooks 49818 45.91040 -87.20710 MI Cornell 49819 46.60410 -87.61480 MI Arnold 49820 46.15930 -85.69930 MI Curtis 49821 45.52440 -87.61480 MI Daggett 49822 46.42700 -87.04970 MI Deerton 49825 46.32990 -87.01380 MI Eben_Junction 49826 46.34810 -87.04360 MI Rumely 49827 46.16940 -85.58800 MI Engadine 49829 45.85130 -87.05710 MI Escanaba 49831 46.02260 -87.79390 MI Felch 49833 46.27970 -87.33110 MI Little_Lake 49834 45.93990 -87.80600 MI Foster_City 49835 45.75660 -86.58610 MI Garden 49836 46.24480 -85.92750 MI Germfask 49837 45.88130 -87.11520 MI Gladstone 49838 46.07470 -85.73380 MI Gould_City 49839 46.66880 -85.96410 MI Grand_Marais 49840 46.04210 -86.23580 MI Gulliver 49841 46.33110 -87.43970 MI Gwinn 49845 45.69220 -87.35130 MI Harris 49847 45.70010 -87.64240 MI Hermansville 49848 45.37180 -87.62370 MI Ingalls 49849 46.43870 -87.70910 MI Ishpeming 49852 45.82750 -87.77640 MI Loretto 49853 46.34760 -85.65850 MI Mc_Millan 49854 46.00620 -86.25550 MI Manistique 49855 46.59340 -87.61530 MI Marquette 49858 45.22900 -87.56770 MI Menominee 49861 46.53080 -88.09140 MI Michigamme 49862 46.41480 -86.46030 MI Munising 49863 45.60870 -87.56330 MI Nadeau 49864 45.84240 -86.65590 MI Nahma 49865 46.60410 -87.61480 MI National_Mine 49866 46.49490 -87.79950 MI Negaunee 49868 46.46020 -85.51560 MI Newberry 49870 45.85720 -87.91760 MI Norway 49871 46.44160 -87.57640 MI Palmer 49872 45.99250 -87.07920 MI Perkins 49873 45.84100 -87.48160 MI Perronville 49874 45.70340 -87.51240 MI Powers 49876 45.80760 -87.95990 MI Quinnesec 49877 46.12970 -87.73670 MI Ralph 49878 45.91400 -86.80470 MI Rapid_River 49879 46.36560 -87.89040 MI Republic 49880 46.05740 -87.12260 MI Rock 49881 46.07470 -88.03960 MI Sagola 49883 46.33410 -87.25700 MI Seney 49884 46.43430 -86.36790 MI Shingleton 49885 46.39690 -87.30050 MI Skandia 49886 45.67770 -87.48520 MI Spalding 49887 45.44740 -87.61400 MI Stephenson 49891 46.23870 -87.01440 MI Trenary 49892 45.83040 -87.80730 MI Vulcan 49893 45.29540 -87.58560 MI Wallace 49894 45.78820 -87.07850 MI Wells 49895 46.29150 -86.67130 MI Wetmore 49896 45.67930 -87.38990 MI Wilson 49901 47.29330 -88.38970 MI Ahmeek 49902 46.03090 -88.37710 MI Alpha 49903 46.24940 -88.41760 MI Amasa 49905 47.07270 -88.63490 MI Atlantic_Mine 49908 46.80480 -88.57580 MI Baraga 49910 46.58530 -89.51750 MI Bergland 49911 46.42340 -89.99270 MI Bessemer 49912 46.47510 -89.22290 MI Bruce_Crossing 49913 47.15470 -88.52550 MI Calumet 49915 46.06570 -88.63100 MI Caspian 49916 47.02010 -88.57250 MI Chassell 49917 47.28420 -88.38750 MI Copper_City 49918 47.47160 -87.94630 MI Copper_Harbor 49919 46.52650 -88.58460 MI Covington 49920 46.14300 -88.37620 MI Crystal_Falls 49921 47.09280 -88.58360 MI Dodgeville 49922 47.12030 -88.46130 MI Dollar_Bay 49925 46.54840 -89.36530 MI Ewen 49927 46.03520 -88.56090 MI Gaastra 49929 46.78090 -89.11460 MI Greenland 49930 47.15660 -88.55850 MI Hancock 49931 47.10530 -88.54820 MI Houghton 49934 47.16710 -88.46680 MI Hubbell 49935 46.12050 -88.61900 MI Iron_River 49938 46.47960 -90.16710 MI Ironwood 49942 47.26940 -88.41840 MI Kearsarge 49945 47.16250 -88.50310 MI Lake_Linden 49946 46.74020 -88.44710 MI Lanse 49947 46.37930 -89.61260 MI Marenisco 49948 46.72280 -89.05120 MI Mass_City 49950 47.35260 -88.28890 MI Mohawk 49952 46.77480 -88.87990 MI Nisula 49953 46.73810 -89.33470 MI Ontonagon 49955 47.04040 -88.67040 MI Painesdale 49958 46.74020 -88.74790 MI Pelkie 49959 46.47270 -89.99760 MI Ramsay 49960 46.75370 -89.19580 MI Rockland 49961 46.50150 -88.79710 MI Sidnaw 49962 46.86710 -88.13910 MI Skanee 49963 47.07190 -88.65200 MI South_Range 49964 46.07970 -88.62900 MI Stambaugh 49965 46.91090 -88.85320 MI Toivola 49967 46.49310 -89.08520 MI Trout_Creek 49968 46.49080 -89.87520 MI Wakefield 49969 46.22180 -89.24060 MI Watersmeet 49970 46.49890 -88.62040 MI Watton 49971 46.78270 -89.59740 MI White_Pine |
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started