USPS-Postleitzahlzoneninformationen

Ich versuche, USPS-Versandzoneninformationen anzuzeigen, aber der Abschnitt der USPS-Site, von dem ich diese Informationen entfernt habe, ist fehlerhaft seit Monaten und ich frage mich, ob jemand einen anderen Weg kennt, um es in einem analysierbaren Format zu bekommen?

Die Seite, die seit Monaten kaputt ist, ist hier: http://postcalc.usps.gov/Zonecharts/ZoneChartPrintable.aspx?zipcode=931

Sie haben hier dasselbe Diagramm in einem nicht so analysierbaren Format: http://postcalc.usps.gov/Zonecharts/

Ich speichere diese Informationen zwischen, damit sie nicht ständig angefordert werden müssen, aber der Cache wird gelegentlich gelöscht, da sich die Zonen ändern von Zeit zu Zeit.

Antwort

Hier ist der Code, mit dem ich die JSON-Daten abrufe, die 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; } 

Kommentare

  • Das ist perfekt, danke. Ich hatte nicht war schon eine Weile nicht mehr da, um ihre neue Site zu überprüfen, aber ich bin froh, dass sie jetzt eine JSON-Zeichenfolge bereitstellen, anstatt den HTML-Code analysieren zu müssen.

Antwort

Sie können die Zone auch basierend auf der Entfernung zwischen dem Koordinatenursprung-SCF (Sectional Center Facility) und dem Ziel-SCF

Zone 1 berechnen : Nicht lokale Zonen innerhalb eines Radius von 50 Meilen um den Ursprungspunkt

Zone 2: Radius 51-150 Meilen

Zone 3: Radius 151-100 Meilen

Zone 4: Radius 301-600 Meilen

Zone 5: Radius 601-1.000 Meilen

Zone 6: Radius 1001-1400 Meilen

Zone 7: 1401-1800 Meilen Radius

Zone 8: 1801 Meilen und mehr

Zone 9: Postleitzahlen, die für außergewöhnliche Netzwerkbedingungen zugewiesen wurden

  • SCF für jede Postleitzahl hier: https://fast.usps.com/fast/fastApp/resources/labelListFiles.action
  • Sie können die Koordinaten des SCF abrufen über die Google API
  • Sobald Sie die Koordinaten haben, gibt es viele Möglichkeiten um den Abstand zwischen ihnen zu berechnen
  • Sie können auch die Koordinaten überspringen und einfach den Abstand zwischen den Postleitzahlen des SCF selbst berechnen (nicht die Postleitzahlen, die er bedient)

Antwort

Der USPS verkauft hier ein vollständiges Zonendiagramm für alle Kombinationen von bis bis zip für 63 USD: https://postalpro.usps.com/operations/zone-charts

Ich habe einen gesendet, da ich seit Monaten keine Informationen mehr an anderer Stelle finden konnte.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.