Skip to content

WorldMap Join Targets (dev note)

Raman Prasad edited this page Apr 24, 2017 · 6 revisions

The WorldMap join target API endpoint

The WorldMap supplies target layers--or JoinTargets that a tabular file may be mapped against.

A JSON description of these CGA curated JoinTargets may be retrieved via API

{
  "data":[
    {
      "layer":"geonode:census_tracts_2010_boston_6f6",
      "name":"Census Tracts, Boston (GEOID10: State+County+Tract)",
      "geocode_type_slug":"us-census-tract",
      "geocode_type":"US Census Tract",
      "attribute":{
        "attribute":"CT_ID_10",
        "type":"xsd:string"
      },
      "abstract":"As of the 2010 census, Boston, MA contains 7,288 city blocks [truncated for example]",
      "title":"Census Tracts 2010, Boston (BARI)",
      "expected_format":{
        "expected_zero_padded_length":-1,
        "is_zero_padded":false,
        "description":"Concatenation of state, county and tract for 2010 Census Tracts.  Reference: https://www.census.gov/geo/maps-data/data/tract_rel_layout.html\r\n\r\nNote:  Across the US, this can be a zero-padded \"string\" but the original Boston layer has this column as \"numeric\" ",
        "name":"2010 Census Boston GEOID10 (State+County+Tract)"
      },
      "year":2010,
      "id":28
    },
    {
      "layer":"geonode:addresses_2014_boston_1wr",
      "name":"Addresses, Boston",
      "geocode_type_slug":"boston-administrative-geography",
      "geocode_type":"Boston, Administrative Geography",
      "attribute":{
        "attribute":"LocationID",
        "type":"xsd:int"
      },
      "abstract":"Unique addresses present in the parcels data set, which itself is derived from [truncated for example]",
      "title":"Addresses 2015, Boston (BARI)",
      "expected_format":{
        "expected_zero_padded_length":-1,
        "is_zero_padded":false,
        "description":"Boston, Administrative Geography, Boston Address Location ID.  Example: 1, 2, 3...nearly 120000",
        "name":"Boston Address Location ID (integer)"
      },
      "year":2015,
      "id":18
    },
    {
      "layer":"geonode:bra_neighborhood_statistical_areas_2012__ug9",
      "name":"BRA Neighborhood Statistical Areas, Boston",
      "geocode_type_slug":"boston-administrative-geography",
      "geocode_type":"Boston, Administrative Geography",
      "attribute":{
        "attribute":"BOSNA_R_ID",
        "type":"xsd:double"
      },
      "abstract":"BRA Neighborhood Statistical Areas 2015, Boston. Provided by [truncated for example]",
      "title":"BRA Neighborhood Statistical Areas 2015, Boston (BARI)",
      "expected_format":{
        "expected_zero_padded_length":-1,
        "is_zero_padded":false,
        "description":"Boston, Administrative Geography, Boston BRA Neighborhood Statistical Area ID (integer).  Examples: 1, 2, 3, ... 68, 69",
        "name":"Boston BRA Neighborhood Statistical Area ID (integer)"
      },
      "year":2015,
      "id":17
    }
  ],
  "success":true
}

How Geoconnect utilizes this info

When a user attempts to map a tabular file, the application looks in the Geoconnect database for JoinTargetInformation. If this information is more than 10 minutes* old, the application will retrieve fresh information and save it to the db.
(* change the timing via the variable JOIN_TARGET_UPDATE_TIME)

This JoinTarget info is used to populate HTML forms used to match a tabular file column to a JoinTarget column. Once a JoinTarget is chosen, the JoinTarget id is an essential piece of information used to make an API call to the WorldMap and attempt to map the file.

Geoconnect Code for calling the API endpoint

Geoconnect Code for saving the JoinTargetInformation