http://public.pdinc.us/FOIA/USPS/20021029U00

Thank you for your interest in this matter. You will find here several documents which are copies of the correspondence with various departments within the United States Postal Service in regards to our Freedom of Information Act (FOIA) request.

In late 2001 we were doing research in address management. It was during this research we noticed that there was no public domain access to data collected by our government. Further investigation revealed that the collection of this data is funded through congress, hence our taxes. At that point we decided to pursue this as a matter of public interest.

We spent several months preparing and chasing down the correct receptacle for our FOIA request. Our basis is that the United States has laws concerning the dissemination of information held by the government. It was the opinion of PD Inc. that the United States Postal Service (USPS) has not complied with these laws. Further it is our belief that they will not comply with these laws voluntarily.

We believe that the USPS has data of great public interest. This data includes, but is not limited to, a ZIP+4 database and the TIGER/ZIP+4 bridge information.

To this effect we requested this type of information in our correspondence submitted to the Department of Operations Planning of the United States Postal Service on October 29th, 2002 (acknowledgement date) as per Robert Faruq Acting FOIA Officer, USPS.

Since our first correspondence, we have been told that our request would not be honored. Latter we were told that our request would be honored but it will take several weeks to "search" for the records. To the point of our fee waiver request, we have been told that a fee waiver cannot be obtained since these records are commercially available [via telephone Adrian Tompkins: USPS General Counsel Office: 2003-03-25 3:30pm]. We believe the spirit of FOIA is that of an open government, and not of a profit-making business.

We would like to thank Meyer & Glitzenstein. Their belief that our request has merit, and their willingness to assist us in this matter has been invaluable.

  • 20021029U00.pdf txt
    This was our initial request. Here we asked for a list containing the associated information for each address, city, state, zip, +4, latitude, longitude.
  • 20021231U00.pdf txt
    Their reply, which was very late. FOIA requires a determination response within 20 days. Not only that, but there response did not address our fee waiver, and most of the data requested. They replied that we must pay for their data and then agree to the license
    agreement with the ZIP+4 product.
  • 20030106U00.pdf txt
    Our reply to their letter (above). The important thing here is the chart:
    Data Requested Your Action Taken Status
    Addresses  Denied  Clarification
    Streets No response Request
    Cities No response Request
    States No response Request
    Zip codes No response Request
    Zip +4 codes No response Request
    Latitudes Fee notification  Fee Schedule Request
    Longitudes Fee notification  Fee Schedule Request
  • 20030206U00.pdf txt
    This is our appeal due to their failure to respond.
  • 20030221U00.pdf txt
    Here we get our first hopeful response. It acknowledges what we are asking for, demonstrates their understanding of our request. Then it asks for more time, since it is a big request. Now here is where we get confused: if it is just a merger of A and B, then send A and B, how long can this take?
  • 20030228U00.pdf txt
    Here is where we find out that Mr. Garner is retiring, and passing the buck to Mr. Seaberg who is never at work.
  • 20030326U00.pdf txt
    Here is where Mr. Seaberg claims that we changed our request, and they have to reprocess all over again. Even if this were true, does anyone believe that it was completed? If that were the case would they not treat a "change" as a new FOIA request? I would.
  • 20030327U00.pdf txt
    Oy veh! We are preparing for the court case. This letter is pretty much a CYA document. We are anticipating that the USPS does not honor our fee waiver request, further the data is probably all screwy.
  • 20030403U00.pdf txt
    Oy veh! Our appeal response from the General Counsel's office. It is an unintelligent jumble of words. If you look at our reply below, you will see the points on which this "Final Decision" is so off basis, it does not even respond to the appeal request. These people just piss me off. I need to address http://ribbs.usps.gov/files/addressing/SAMPLES/ZIP4-sam.txt I have this cached here. Go here for lunacy.
    An update, take a look at the AIS product guide [cached here]: It shows that the data we asked for is available for purchase. Infact it is on a few cds, and would cost only $2100 per year. [Chapter 8 - Ordering AIS Products, Product Price Sheet page 128 or 133/139] Please don't misunderstand $2100 is $2100 too much.
  • 20030403U01.pdf txt
    I know this letter has no basis in law, but I am trying to discourage litigation. It is not that I don't think we will win, but I don't want to 1) waste our time such that we go to court then they settle / give in 2) to spend my time traveling to DC so we may go to court. Maybe the federal court for our district is in Baltimore?
  • 20030404U00.pdf txt
    Mr. Seaberg has tried to be very helpful, he is also cautious as to not make a mistake. Here he is double checking that his department has our request correct. So we asked: if it also includes each 5 digit zip, streets, cities, and states.
  • 20030404U01.pdf txt
    Cool! None of our request has been exempted, right? We are not getting a list of 5 digit zip codes? Why not? He has asked us to further justify, how our request is in the public interest. He has provided us with the details, so we may calculate our FOIA bill so far. He has pointed out a chart at the end of the this page [cached here] 56 hours of programmer labor and 83 hours of computer processing time.
        56 x $   70.00 (Programming Services)
      + 83 x $1,350.00 (Batch or On-line Services)  
      ================
           $115,970.00 (That is a big bill!!!)
      
    Mr. Seaberg is prepared to discount this because, they have taken longer than expected [see above, duh!]
  • 20030404U02.pdf txt
    Our reply to 20030404U01. We explain that the public interest of our request has not fully been explained, since there are so many uses for this information, which we have not thought of as relevant or just have not thought of. We also offer to prepare a White Paper to explain how this is in the interest of the public. To quote: "Short and to the point, we will be providing an open development portal for publication, analysis and manipulation of this data. Our portal will be available to the general public, without fee. Further we are in the process of preparing a publication for university libraries."
  • 20030409U00.pdf txt
    Mr. Seaberg requests our whitepaper. Quote: "The information could help me to internally justify a partial or complete fee waiver."
    Also our request is underway, and he will get back to us on the completion date.
  • 20030418U00.pdf txt
    Today we received the data, 11,721,359,645 bytes [12GB] worth. We are still preparing the white paper on this matter. We have not received a bill either. You will find this data going up over the next few days. Here are the directory listings.
     Volume in drive D is ZIP4_GIS_1
     Volume Serial Number is 940F-0537
    
     Directory of D:\
    
    04/16/2003  04:22p         133,537,269 al_dc.zip
    04/16/2003  04:32p         202,162,662 fl_ky.zip
    04/17/2003  09:27a              25,088 layout.doc
    04/16/2003  04:37p         130,941,009 la_mt.zip
    04/16/2003  04:41p         121,378,351 ne_nd.zip
    04/17/2003  09:36a                 220 README.TXT
                   6 File(s)    588,044,599 bytes
                   0 Dir(s)               0 bytes free
    
     Volume in drive D is ZIP4_GIS_2
     Volume Serial Number is 1DCA-C7CE
    
     Directory of D:\
    
    04/16/2003  04:46p         209,362,337 oh_ut.zip
    04/16/2003  12:02p          73,304,144 VT_PR.zip
                   2 File(s)    282,666,481 bytes
                   0 Dir(s)               0 bytes free
    
    Archive:  d:al_dc.zip
       Length     Date   Time    Name
      --------    ----   ----    ----
      15750870  04-13-03 15:52   AK.txt
     274015857  04-14-03 09:28   AL.txt
     143297402  04-13-03 16:03   AR.txt
     186599675  04-13-03 15:50   AZ.txt
    1053135906  04-13-03 16:45   CA.txt
      88326857  04-14-03 14:27   CO.txt
       8930889  04-14-03 14:38   CT.txt
      23148295  04-14-03 10:24   DC.txt
      33173206  04-14-03 10:21   DE.txt
      --------                   -------
    1826378957                   9 files
    
    Archive:  d:fl_ky.zip
       Length     Date   Time    Name
      --------    ----   ----    ----
     859741530  04-14-03 17:15   FL.txt
     558006089  04-14-03 17:05   GA.txt
      32329426  04-14-03 15:03   HI.txt
      94191128  04-14-03 15:19   IA.txt
      58672008  04-14-03 15:15   ID.txt
     525348933  04-14-03 17:06   IL.txt
     310993225  04-14-03 16:52   IN.txt
     152329005  04-14-03 15:19   KS.txt
     170877528  04-14-03 16:39   KY.txt
      --------                   -------
    2762488872                   9 files
    
    Archive:  d:la_mt.zip
       Length     Date   Time    Name
      --------    ----   ----    ----
     207936977  04-15-03 10:07   LA.txt
     202271310  04-15-03 10:13   MA.txt
     167774771  04-15-03 10:08   MD.txt
      65749715  04-15-03 09:53   ME.txt
     379675482  04-15-03 10:24   MI.txt
     218291937  04-15-03 10:15   MN.txt
     280631207  04-15-03 10:27   MO.txt
     157616980  04-15-03 10:18   MS.txt
      33075052  04-15-03 10:17   MT.txt
      --------                   -------
    1713023431                   9 files
    
    Archive:  d:ne_nd.zip
       Length     Date   Time    Name
      --------    ----   ----    ----
     396719838  04-15-03 11:55   NC.txt
      44555052  04-15-03 11:30   ND.txt
      99734246  04-15-03 11:45   NE.txt
      42522518  04-15-03 11:45   NH.txt
     245494084  04-15-03 12:01   NJ.txt
      61867466  04-15-03 12:05   NM.txt
      68341899  04-15-03 12:07   NV.txt
     703962809  04-15-03 12:38   NY.txt
      --------                   -------
    1663197912                   8 files
    
    Archive:  d:oh_ut.zip
       Length     Date   Time    Name
      --------    ----   ----    ----
     443160743  04-15-03 13:42   OH.txt
     179113567  04-15-03 13:33   OK.txt
     153127726  04-15-03 13:32   OR.txt
     493617639  04-15-03 12:32   PA.txt
      36473993  04-15-03 17:45   RI.txt
     199793352  04-15-03 17:53   SC.txt
      41996447  04-15-03 17:48   SD.txt
     272419850  04-15-03 11:29   TN.txt
     896760799  04-15-03 12:17   TX.txt
      69549021  04-15-03 17:51   UT.txt
      --------                   -------
    2786013137                   10 files
    
    Archive:  d:VT_PR.zip
       Length     Date   Time    Name
      --------    ----   ----    ----
      46971305  04-16-03 09:28   PR.txt
     286669400  04-16-03 09:40   VA.txt
      38738423  04-16-03 09:37   VT.txt
     244485853  04-16-03 09:45   WA.txt
     263288658  04-16-03 11:34   WI.txt
      65991656  04-16-03 11:28   WV.txt
      24112041  04-16-03 09:38   WY.txt
      --------                   -------
     970257336                   7 files
    

    Data we are missing...
    Cities, [Counties], Zip5s
  • 20030425U00.pdf txt
    We just received the county names for the data.

    Wow this data is a bit big to work with. I have been running programs on the data most of this week. We expect to have the data up in a useful format ASAP. It is looking like we might not be able to fit it on a single cd. We have choosen to use hsqldb to store the data. This will allow any user to query this data in a SQL environment.

    Here is our schema so far:

    • CREATE TABLE STATES(ID INTEGER NOT NULL IDENTITY PRIMARY KEY,STATE CHAR(2),CONSTRAINT SYS_IDX_U_0 UNIQUE(STATE))
    • CREATE TABLE COUNTYNAMES(ID INTEGER NOT NULL IDENTITY PRIMARY KEY,COUNTYNAME VARCHAR(25),CONSTRAINT SYS_CT_37 UNIQUE(COUNTYNAME))
    • CREATE TABLE COUNTIES(ID INTEGER NOT NULL IDENTITY PRIMARY KEY,STATE INTEGER,COUNTY INTEGER,COUNTYNO CHAR(3),REG CHAR(2),CONSTRAINT SYS_FK_39 FOREIGN KEY(STATE) REFERENCES STATES(ID),CONSTRAINT SYS_FK_40 FOREIGN KEY(COUNTY) REFERENCES COUNTYNAMES(ID),CONSTRAINT SYS_CT_41 UNIQUE(STATE,COUNTYNO))
    • CREATE TABLE CITIES(ID INTEGER NOT NULL IDENTITY PRIMARY KEY,CITY VARCHAR(28) NOT NULL,CONSTRAINT SYS_CT_1 UNIQUE(CITY))
    • CREATE TABLE STREETNAMES(ID INTEGER NOT NULL IDENTITY PRIMARY KEY,STREET VARCHAR(28),CONSTRAINT SYS_IDX_3 UNIQUE(STREET))
    • CREATE TABLE STREETS(ID INTEGER NOT NULL IDENTITY PRIMARY KEY,ST_PRE_DIR VARCHAR(2),STREETNAME INTEGER,ST_SUF VARCHAR(4),ST_POST_DIR VARCHAR(2),CONSTRAINT SYS_FK_20 FOREIGN KEY(STREETNAME) REFERENCES STREETNAMES(ID))
    • CREATE TABLE LATLONS(ID INTEGER NOT NULL IDENTITY PRIMARY KEY,LATMIN DECIMAL NOT NULL,LATMAX DECIMAL NOT NULL,LONMIN DECIMAL NOT NULL,LONMAX DECIMAL NOT NULL,CONSTRAINT SYS_CT_6 UNIQUE(LATMIN,LATMAX,LONMIN,LONMAX))
    • CREATE TABLE FIRMS(ID INTEGER NOT NULL IDENTITY PRIMARY KEY,FIRM VARCHAR(40) NOT NULL,CONSTRAINT SYS_CT_8 UNIQUE(FIRM))
    • CREATE TABLE ADDRS(ID INTEGER NOT NULL IDENTITY PRIMARY KEY,ADDRTYPE CHAR(1),ADDRMIN VARCHAR(10),ADDRMAX VARCHAR(10),ADDROE CHAR(1),APTTYPE VARCHAR(4),APTNUMMIN VARCHAR(8),APTNUMMAX VARCHAR(8),APTOE CHAR(1),STREET INTEGER,FIRM INTEGER,CITY INTEGER,STATE INTEGER,ZIP5 INTEGER,ZIP4MIN INTEGER,ZIP4MAX INTEGER,COUNTY INTEGER,CARRTID CHAR(4),CONGDIST INTEGER,LATLON INTEGER,CONSTRAINT FOO1 FOREIGN KEY(STREET) REFERENCES STREETS(ID),CONSTRAINT FOO2 FOREIGN KEY(FIRM) REFERENCES FIRMS(ID),CONSTRAINT FOO3 FOREIGN KEY(CITY) REFERENCES CITIES(ID),CONSTRAINT FOO4 FOREIGN KEY(STATE) REFERENCES STATES(ID),CONSTRAINT FOO5 FOREIGN KEY(LATLON) REFERENCES LATLONS(ID))
    • CREATE TABLE USPSKEYS(KEY CHAR(10) NOT NULL PRIMARY KEY,ADDR INTEGER,CONSTRAINT SYS_FK_1 FOREIGN KEY(ADDR) REFERENCES ADDRS(ID) ON DELETE CASCADE,CONSTRAINT SYS_CT_2 UNIQUE(ADDR))
    • CREATE VIEW EXPORT AS select ADDRS.ZIP5, USPSkeys.key, ADDRS.ADDRTYPE, ADDRS.CARRTID, STREETS.ST_PRE_DIR, STREETNAMES.STREET, STREETS.ST_SUF, STREETS.ST_POST_DIR, ADDRS.ADDRMIN, ADDRS.ADDRMAX, ADDRS.ADDROE, firms.firm, ADDRS.APTTYPE, ADDRS.APTNUMMIN, ADDRS.APTNUMMAX, ADDRS.APTOE, ADDRS.ZIP4min, ADDRS.ZIP4max, STATES.state, countynames.countyname, cities.city, ADDRS.congdist /*latlong*/ from addrs left outer join streets ON addrs.street=streets.id left outer join streetnames on streets.streetname=streetnames.id left outer join firms on addrs.firm=firms.id left outer join STATES on addrs.state=STATES.id left outer join COUNTIES on ADDRS.COUNTY=COUNTIES.id left outer join COUNTYNAMES on COUNTIES.county=COUNTYNAMES.id left outer join CITIES on ADDRS.city=CITIES.id left outer join USPSKEYS on ADDRS.id=USPSKEYS.addr

$Revision: 1.23 $

 Copyright 2007 PD Inc.  New York, Baltimore, Atlanta.  All rights reserved.