Creating Point Collections

Point collections refer to a number a different locations (points on a map) and are typically grouped by a specific subject matter. For example a dataset of schools in South Africa.

Collections are created by uploading a csv file and associating the file with a theme and sub-theme.

Preparing the points dataset

Prepare a csv file containing at least the following fields: Name, longitude, latitude. You can see an example below:

Name,longitude,latitude
BOTSHABELO,26.7160600000,-29.2362000000
KHUBUSIDRIFT,27.6238400000,-32.5681900000
STUTTERHEIM,27.4274100000,-32.5711800000
MOTHERWELL,25.5841900000,-33.7966400000
KWADWESI,25.5234700000,-33.8410900000
CRADOCK,25.6257100000,-32.1756000000

In addition to these fields, various other fields can also be included as attributes for the point. These are shown on the point tooltip. An example of a file with additional attributes shown below:

Name,Ward,Phase,Sector,Ward_ID,District,Province,Unnamed: 0,SpecialNeed,Municipality,StreetAddress,latitude,longitude
Sol Plaatjie Full Service School,,PRIMARY SCHOOL,PUBLIC,.,,,0,No,,.,0.0,0.0
THUSEGO INTERMEDIATE SCHOOL,34501005.0,COMBINED SCHOOL,PUBLIC,34501003,DC45,NC,1,No,NC451,"TSINENG VILLAGE, TSINENG, MOTHIBISTAD, 8460",-27.0953,23.0884
!XUNKHWESA COMBINED SCHOOL,30901030.0,SECONDARY SCHOOL,PUBLIC,30901027,DC9,NC,2,No,NC091,"SCHMIDTSDRIFT NEDERSETTING, PLATFONTEIN, KIMBERLEY, 8300",-28.70804,24.65462
BANKSDRIF SECONDARY SCHOOL,30904005.0,SECONDARY SCHOOL,PUBLIC,30904009,DC9,NC,3,No,NC094,"WATER AFFAIRS MEN'S HOSTEL, , HARTSWATER, 8570",-27.7194,24.8092
BARKLY WES PRIMÊRE SKOOL,30902002.0,PRIMARY SCHOOL,PUBLIC,30902002,DC9,NC,4,No,NC092,"IRIS STREET, DEBEERSHOOGTE, BARKLY WEST, 8375",-28.5236,24.5093
BARKLY WEST HIGH SCHOOL,30902002.0,COMBINED SCHOOL,PUBLIC,30902002,DC9,NC,5,No,NC092,"DAHLIA STREET, DEBEERSHOOGTE, BARKLY WEST, 8375",-28.5262,24.5096
BARKLY WEST PRIMARY SCHOOL,30902001.0,PRIMARY SCHOOL,PUBLIC,30902001,DC9,NC,6,No,NC092,"2099 MAKENA STREET, MATALENG, BARKLY WEST, 8375",-28.535,24.5007
BEACON PRIMARY SCHOOL,30901028.0,PRIMARY SCHOOL,PUBLIC,30901028,DC9,NC,7,No,NC091,"VERA STREET, COLVILLE, KIMBERLEY, 8300",-28.7102,24.7549
BOITSHOKO PRIMARY SCHOOL,30901013.0,PRIMARY SCHOOL,PUBLIC,30901013,DC9,NC,8,No,NC091,"179 SESING STREET, GALESHEWE, KIMBERLEY, 8345",-28.7186,24.7433
BONTLENG PRIMARY SCHOOL,,PRIMARY SCHOOL,PUBLIC,.,,,9,No,,"1716 BOJOSI STREET, , PAMPIERSTAD, 8566",0.0,0.0

Include the best identifier or identifying information

It's a good idea to include an standard identifiers for points in your dataset. This can make future updates and cross-referencing much easier. For example, for official facilities like public schools in South Africa, use their EMIS number.

See more

Format of the fields

The "Name" column of your point collection cannot be a number data type. It may be necessary to convert the column to a text/string format before uploading. This can be done easily in Microsoft Excel and is illustrated in the figure below.

NOTE: It may sometimes be more suitable to change which column is given the "Name" heading as this is what is displayed in the tooltip on the map. In the screenshot below, the "Description" column would be a more appropriate choice to be made the "Name" column.

Uploading points and assigning to themes

Once the file is ready to be uploaded, navigate to Point Collections and click Add which will allow you to name the collection and upload the file.

Select the profile which should be associated with these points and select the theme they belong to. Provide a label and the source of the data and proceed to upload.

Uploading additional Points data

Uploads to existing point collections add data without replacing existing points.

To add additional points to a point collection, prepare the file with the new points to be added, as outlined in the Preparing the points dataset section.

Select the point collection you would like to update, upload the file with the new additional point data, and proceed to save the changes.

Editing Points data

You can edit information for a specific point by selecting it under Points > Locations.

To rectify/revise/update previously updated data in bulk, delete the existing point collection and recreate the adjusted file containing all the data.

Bulk updates to a points dataset

Long term maintenance to a point dataset often involves the following tasks:

  • removing points that are no longer relevant

  • adding points that are not already in the database

  • updating data about points already in the database (e.g. opening hours, services provided, correcting/improving a description)

To be able to do this, you need to be able to compare your updated data to the data you have already uploaded to a collection in Wazimap.

To match incoming data to your existing data, you need an identifier. Failing that, you will need to use whatever other identifying information you have available.

Identifiers

An identifier is a value which uniquely and consistently identifies an object - in this case, a point in your point collection.

It is important to include some kind of identifier in your point data to facilitate updates to the data. Downstream users may also need to be able to rely on your identifiers being unique and consistent to be able to incorporate your updates if they keep a copy of your point data.

If your data does not have an official identifier that is consistent over time, and unique per point, think about how you will check if you have any duplicates and check whether newly-provided points are already in your database - e.g. by name, address, and so on. Think about what your users will be able to provide you, and include that in what is shown to them as well.

Consider making up and maintaining your own unique consistent identifier. We suggest using UUIDs because they are globally unique, and not just unique within one table. This is important in case you want to combine tables later, e.g. if you want to merge "public schools" and "private schools" into one "schools" table and continue to use your unique identifier.

You can use the following formula in excel to create a UUID:

=CONCATENATE(
    DEC2HEX(RANDBETWEEN(0;4294967295);8);"-";
    DEC2HEX(RANDBETWEEN(0;42949);4);"-";
    DEC2HEX(RANDBETWEEN(0;42949);4);"-";
    DEC2HEX(RANDBETWEEN(0;42949);4);"-";
    DEC2HEX(RANDBETWEEN(0;4294967295);8);
    DEC2HEX(RANDBETWEEN(0;42949);4)
)

When filled down a column, these identifiers will look like

Make sure to copy and paste as text (not the formula) into a new column and use the text version of it going forward. You don't want it to calculate a new random UUID for existing points.

How to check for duplicates

In Excel, see Conditionally format duplicate values

In Workbench

  1. add a deduplication step

  2. select a column whose values probably ought to be unique

  3. look for rows where duplicate number is greater than 1

How to merge in updates

If you have a consistent unique identifier:

  • In Excel, use VLOOKUP()

  • In Workbench, perhaps Join Tabs might work

If you have messy data with different capitalisation and potential spelling mistakes:

  • Try using OpenRefine with CSV reconcilliation

How to check for new records to import

How to check for stale records

Last updated