English

Problem: The Rematch Addresses option is grayed out for geocoded themes

Description

The Rematch Addresses option under the Theme menu is grayed out for geocoded themes that are added to new projects.

Cause

If you add the results of a geocode to a new project, ArcView doesn't know the theme was generated by the geocoding process.

Solution or Workaround

Instead of using the Add Theme to add the shapefile to the new project, use one of the following methods to make a shapefile rematchable.

  • Copy and paste the geocoding theme and streets reference theme between projects.

    A. Open the project containing the themes.
    B. Make the themes active.
    C. Select Copy Themes from the Edit menu.
    D. Close the project and open the destination project.
    E. Open the destination View.
    F. Select Paste from the Edit menu.



  • Write the themes to an ODB file. Import the ODB file into the destination project.

    1. Open a new script window.

    A. Activate the Project window.
    B. Click the Scripts icon.
    C. Click New.


    2. Copy the following code into the script window:

    Code:
    '--- ThemeRematch.ave

    '-- This script prompts user to pick a view with themes in it,
    '-- it then prompts the user to pick the themes, and then writes
    '-- out the themes to odb files.

    '-- Get docs in project
    aDocList = av.GetProject.GetDocs.Clone

    '-- Pick doc you want
    aView = MsgBox.ChoiceAsString(aDocList,"Pick your view","Viewpicker")

    '-- Get themes from the view
    aThemeList = av.GetProject.FindDoc(aView.AsString).GetThemes

    '-- Have user pick reference theme
    aRefTheme = MsgBox.Choice(aThemeList,"Pick your reference theme","Reference Theme picker")

    '-- Pick geocoded theme
    aGeoTheme = MsgBox.Choice(aThemeList,"Pick your geocoded theme","Geocoding theme picker")

    '-- Create odb - will write to the $HOME directory
    anOdb = ODB.Make("GeoOdbTest.odb".AsFileName)

    '-- Add themes to it
    anODB.add(aRefTheme)
    anODB.add(aGeoTheme)

    anODB.Commit

    '-- Ask if user wants to add it into the present project
    aBool=MsgBox.YesNo("Do you want to add these into a new view?","Add themes?",true)

    if (aBool) then
    av.run("script2",anODB)
    end

    3. Rename the script Script1.

    A. Select Properties from the Script menu.
    B. Type in a new name in the Name field.
    C. Click OK.


    4. Open a new script window.
    5. Paste the following code below into the new script window:

    Code:
    '-- Bring odb back into project
    ODB2 = ODB.Open("GeoOdbTest.odb".AsFileName)

    F1 = ODB2.Get(0)
    F2 = ODB2.Get(1)

    '-- Make view object
    aView = View.Make

    '-- Place into view document
    aView.AddTheme(F1)
    aView.AddTheme(F2)

    '-- Open the view
    aView.GetWin.Open

    6. Name the script Script2.
    7. Select Run from the Script menu.

    Note:
    To load the ODB into a new project, open the new project, create a new script, paste in the second script, and run it.