Megpróbálom megjeleníteni az USPS szállítási zóna adatait, de az USPS webhely azon része, ahonnan ezt az információt kapartam, megszakadt hónapokig, és kíváncsi vagyok, tud-e valaki más módot, hogy értelmezhető formátumban lehessen megszerezni?
A hónapok óta törött oldal itt van: http://postcalc.usps.gov/Zonecharts/ZoneChartPrintable.aspx?zipcode=931
Itt ugyanazt a diagramot mutatják nem túl elemezhető formátumban: http://postcalc.usps.gov/Zonecharts/
Gyorsítótárazom ezeket az információkat, így nem kell folyamatosan kérni őket, de a gyorsítótár időnként törlődik, mivel a zónák változnak időről időre.
Válasz
Itt található az a kód, amellyel lekérem a JSON-adatokat, amelyek feltöltik a http://postcalc.usps.gov/Zonecharts/ .
private String getZoneJSON(String zip3Digit) { URL url; HttpURLConnection con; String zoneJSON = null; try { url = new URL("https://postcalc.usps.com/DomesticZoneChart/GetZoneChart?ZIPCode3Digit=" + zip3Digit + "&ExcelFormat=1"); con = (HttpURLConnection) url.openConnection(); con.setRequestMethod("GET"); con.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36"); con.setRequestProperty("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"); con.setRequestProperty("DNT", "1"); con.setInstanceFollowRedirects(false); InputStream h = (InputStream) con.getContent(); BufferedReader r = new BufferedReader(new InputStreamReader(h)); zoneJSON = r.readLine(); } catch(Exception e) { e.printStackTrace(); } return zoneJSON; }
Megjegyzések
- Ez tökéletes, köszönöm. Nem volt egy ideje nem tértem vissza új webhelyük áttekintésére, de örülök, hogy a HTML elemzése helyett egy JSON karakterláncot szolgáltatnak fel.
Válasz
Kiszámíthatja a zónát az SCF origó (szekcionált központ létesítmény) és a cél SCF koordináták közötti távolság alapján is.
1. zóna : Nem lokális zónák a kiindulási ponttól 50 mérföldes körzetben
2. zóna: 51-150 mérföld sugár
3. zóna: 151-300 mérföld sugár
4. zóna: 301-600 mérföld sugár
5. zóna: 601-1000 mérföld sugár
6. zóna: 1001-1400 mérföld sugár
7. zóna: 1401-1800 mérföld sugár
8. zóna: 1801 mérföld és több
9. zóna: Rendkívüli hálózati körülményekhez rendelt irányítószámok
- Finomíthatja a SCF minden egyes irányítószámhoz itt: https://fast.usps.com/fast/fastApp/resources/labelListFiles.action
- Megkaphatja az SCF koordinátáit a Google API-tól
- Miután megkapta a koordinátákat, rengeteg módszer létezik a köztük lévő távolság kiszámításához
- Ugyancsak kihagyhatja a koordinátákat, és csak kiszámíthatja az SCF irányítószámai közötti távolságot (nem az általa kiszolgált irányítószámokat).
Válasz
Az USPS egy teljes zónadiagramot ad el az összes to-to-zip kombinációhoz 63 dollárért itt: https://postalpro.usps.com/operations/zone-charts
Elküldtem egyet, mivel hónapok óta nem találok ilyen információkat másutt.