RV SuperStores

rv0.jpg (20884 bytes)Find all Zip Codes Within 30 Miles of  RV SuperStores in California Using only Manifold CD Maps - RV SuperStores have launched a chain of mega-centers to service the Recreational Vehicle (RV) trade in the central valley of California, where it seems that just about everyone has a Winnebago parked in the driveway ready to escape the summer's heat.  They don't need Zip+4 fineness, and feel that 5 digit Zip codes are accurate enough to avoid wasting mailing dollars on people outside their trade area.  They plan on opening a dozen stores overall and need to mail frequently.  This example uses the Nearest Neighbor solver to show how to use a network concept (unattached nodes) to solve a proximity problem.

There are two ways of approaching this case study.   The obvious way is to use Buffer Zones, as in the Frank's Catering case study.   We assume in this case study that you have already read the Frank's Catering case study.   

There are advantages and disadvantages to using Buffer Zones.  A main advantage is that the Buffer Zone approach is conceptually and visually quite simple... it requires little thought and is difficult to make an error. Another advantage is that it is possible to save each buffer zone and associated points to a separate layer and thus print out tables of Zip codes that are associated with specific stores.  A key disadvantage, however, is that in the Buffer Zone approach, one must click on each buffer zone to add the points it contains to the overall selection or to otherwise deal with that specific buffer zone.  If only a few buffer zones are involved, or if they blend together to form only a few "mega" areas, that's no problem, but if many buffer zones are involved, or if the scaling of the buffer zones is such that they are difficult to see in convenient overall map scales, a more automated approach might be better.

This case study lays out the use of the Nearest Neighbors solver to present a fairly sophisticated method that may be used in all sorts of abstract analysis and data mining activities.  With only four locations, we would have probably used the Buffer Zone approach in real life. However, with several dozen locations, the Nearest Neighborhood "networking" approach is probably better.  This example uses only a few central locations to make the resulting maps more easily legible over slow Internet connections.

rv1.jpg (22946 bytes)1. Prepare Base Maps - We will use the basemaps\US_main.mfd map of the United States as our base map, overlaid with the misc\zip_centroids.mfd map of five digit Zip codes.  Both maps are found on the Manifold CD.   Both maps are first converted into Orthogonal projection using a Latitude origin of 37 and a Longitude origin of -120.  See the Reno Map case study for a step-by-step process of converting projections.  It's wise to use working copies of these maps.    The US_main map is the "lower" of the two and is formatted with a solid area style in a light gray color.  The Zip map is the "upper" of the two maps and will be formatted so that the zip code points appear as small green circles.

2. Cut out California Zip Codes - We will use a method that involves all the zip codes in the map, so we want only the California Zip codes.  Let's create a custom map called Ca_zip that includes only California Zip codes.  The quickest way of doing this is to simply load the Zip map, and to then use Polygonal Select (Manifold's "lasso" function) to trace around the edges of California as it is shown on the underlying base map to select all points within California. We can then save those points to a new map.  See the Reno Map case study for how this is done.     Next, we reload Manifold with the US_main map on the "bottom" and Ca_zip on "top."  The result is illustrated above at left.  Note that we will be working only in the Ca_zip map and any layers created within that map.  The US_Main map will be used only as a background and will not be touched at all.

rv3.jpg (30367 bytes)

rv2.jpg (23197 bytes)3. Add RV SuperStores Locations -  Click on the zip codes map layer tab to make this map the active map.  From the Layers menu, insert a new blank layer and call it Stores.  RV has four locations.  Insert these as points using the Create Point tool at the right locations.  For a small number of locations this is easiest to do just by eye with the map Zoomed in.   For a large number of locations taken from a geocoded file, one would import a text or Access file listing the names of each store using techniques (such as Import Data from ODBC source within Table View, or the Merge Data tool) that are not covered in this case study.  Format these points so that they are visible.  tv_add_field_but.jpg (6166 bytes)We used a size of 4, a foreground color of black (the circumference of the point circle), and a background color of bright yellow (the fill color).  We retained the default point icon, a round circle.    The map now looks like the illustration at left in a zoomed in detail.   Click on the thumbnail at right for a bigger view showing all of California.  Tip: In "real life", we'd also probably add a field to the database called Store_ID or Name or whatever to keep track of which store is which.  This is done in Table View using the Add Field button (right).

rv5.jpg (35573 bytes)

rv4_nneigh.jpg (16652 bytes)4.   Associate Each Zip Code with the Closest Store - OK, now we "get technical."  Run the Nearest Neighbors solver to associate every Zip code in California with the nearest RV SuperStore to that Zip code.  Run this solver with the Origin Set = Ca_zip and the Neighbor Set = Stores.  This solver creates a link (ie, a line) between each Zip code point and the nearest RV SuperStore.  The links are in the Selection when the solver is done, so use Save Selection to a New Layer to save them to a new layer called Radii (sort of a clumsy name, but then again, we're technoids here, not Hemingway...).  This results in the display seen at right.

rv6_sql_tbar.jpg (13395 bytes)

rv7.jpg (38625 bytes)5. Select all Radii <= Desired Radius - Using the SQL toolbar (above), we select all Radii that are less than or equal the desired outreach radius of our mailing program.  In this example, we will use 75 kilometers as the desired radius.    We suppose in real life RV SuperStores will use miles, but we like to use the metric system.  You can use whatever units you like, even Indian Feet, leagues, or inches.  Hit Select and the SQL toolbar instantly highlights in red all the Radii links that are less than or equal to 75 km in length. (illustration at right)  Use Save Selection to New Layer to save these to a new layer called 75km.

rv8.jpg (32550 bytes)

 

6. Turn Off Unneeded Radii - Double Click on the Radii tab to turn this layer off from display.   This is not strictly necessary, but it makes for a better looking display.   The result is seen at left.

 

 

rv10.jpg (35148 bytes)

7. Select all Visible Objects - This is most easily accomplished by using Mouse selection to draw a selection box around all the objects on screen.  Only the Stores, 75km, and Ca_zip layers should be ON for display. rv9_addtosel.jpg (19865 bytes)The result is that all the objects are selected and highlighted in Red (left).  Tip: if for some reason you still had other layers ON for display, another way of doing this would be to right mouse click on the tab for each layer you wished to have added to the Selection.  In the pop-up menu that results (offering a handy list of things to do with that layer) choose Add to Selection.   See the thumbnail at right.

 

rv11.jpg (31114 bytes)

 

8. Select All Unattached Zip Code Points - Finding all the Zip code points farther away than 75 km from an RV SuperStore is now the same as finding all Zip Code Points that are unattached to the "network" consisting of the Selection.  Run the Manifold Unattached Nodes solver using "Selection" as the Net Source and all of the Zip code points will be highlighted in Red since they are now the new selection.

 

rv12.jpg (22036 bytes)

9. Organize Layers to Show Result -  Now we will do a little layer housekeeping to extract our result. Using save_new_layer.jpg (6003 bytes)Save Selection as New Layer, (right) send the selected Zip code points to a new layer, called "temp".  The only points remaining in the Ca_zip layer are now the zip code points that are attached to the 75km links.  Right mouse click on the Ca_zip layer, choose Replace Selection and then Save Selection as New Layer to place those "attached" zip code points into a new layer called Result.  Now, right mouse click on the temp layer, choose Replace Selection and then use save_exs_layer.jpg (5869 bytes)Save Selection to Existing Layer (right) to send all the "unattached" zip code points from the temp layer back to Ca_zip.   Double-click on the Ca_zip layer to turn it OFF from display.    Now, all that is visible are the Stores, the 75km lines, and the "attached" zip code points in the Result layer.

rv13.jpg (20829 bytes)

 

10. Turn off Unnecessary Lines and Points  - We don't need the 75km lines anymore, so by double clicking on their layer tab we can turn them off. Likewise, we can turn off the Stores layer.

 

 

rv14_tv.jpg (62100 bytes)bprox_tvbut.jpg (6297 bytes) 11.  Inspect Result with Table View -  The job is now done.   All we have left is reporting.   We can inspect the results by clicking on Result layer's tab to make sure the layer is active, and then opening Table View to look at the contents of the Result layer as a table (thumbnail at right). 

bprox_odbc.jpg (33315 bytes)

tv_high_all_but.jpg (5975 bytes)   10. Export the Results using ODBC -  We will use a Table View action to to export this data to a text file or database file using ODBC.   First, we need to highlight all the records since table view operators  work on highlighted records. bprox_tv_exbut.jpg (5938 bytes) Click on the Table View Highlight All button (above, left).    Now, click on the Export button (below, left) and in the resulting ODBC dialog pick the destination of your choice. 

 

 

Using Buffer Zones to Accomplish the Same Task

rv15.jpg (30262 bytes)It's also possible to use Buffer Zones as set forth in the Frank's Catering case study.  At left is an illustration as to how this might look in the case of RV SuperStores.

We've created Buffer Zones about each of the store points, and then using SQL Toolbar we will select all of the CA_zip points that fall inside the buffer zones.  Why would we not do this in the first place? 

For only four RV SuperStore locations, we would use Buffer Zones.   However, as the number of store locations increases, it becomes increasingly tedious to click each buffer zone area to add the points it contains to the Selections.  In contrast, the process using Nearest Neighbors and Unattached Nodes solvers works for all locations at once.

1. Create Buffer Zones - (above) Using the Stores layer as the point set, we create buffer zones with radius 75 kilometers.

rv16.jpg (30705 bytes)

 

2. Use SQL Toolbar to Add to Selection - Load up SQL toolbar with Ca_zip containing and the objectID of each buffer zone in sequence (click on the object selector button and then on the buffer zone to load the objectID automatically).

 

 

rv17.jpg (21129 bytes)

3. Save Selected Zip codes - Save the selected Zip code points to a results layer, and turn the Ca_zip layer off.

 

 

 

btn_purchase_now.png (2836 bytes)Like what you see? Now is the time to buy Manifold System and get all these capabilities for yourself.  It's only $145 and it totally outperforms ancient systems from an earlier era.  You get more power, better ease of use and a spectacularly driven engineering organization working to serve you better.  While you are at it, why not order a copy of TIGER/Line 1997 as well? Visit the Manifold.net Online Store for a quick, easy, and secure purchase of Manifold products, or (in the US) call 800-556-5919 to order by telephone (9-5 PST).

Home Page - Products - Search - Support - Shopping - News - Online Store
Personal Mapping - GIS - Database Commander - 3D View Studio - Maps and Data
Testimonials - Y2K - Links - Licensing - Privacy Statement - Terms Of Use


© 2001 CDA International Ltd. All Rights Reserved.
Manifold is a Registered Trademark of CDA

Prices, terms and conditions, and product specifications subject to change without notice.  Please contact Manifold Net with any special needs or requests.

Back to Manifold Home Page