Using Extra POI Editor to Create and Edit CSV files.

Submitted by Box Car on Mon, 12/02/2013 - 5:16pm.

Extra_POI_Editor is a very powerful program with a host of features allowing the creation and maintenance of POI files quickly and easily. Now, take the “quickly and easily” with a grain of salt as some preparatory work is required on your part. Before beginning it will be assumed you have downloaded and installed the latest version of Extra_POI_Editor (EPE) from TurboCCC’s wikispaces web site (http://turboccc.wikispaces.com/Extra_POI_Editor) and configured the program as per http://www.poi-factory.com/node/33782. If you have done this, we are now going to start playing with some of the other options available.

Open EPE and select Options then M-Column CSV Fields Assignments. EPE opens a new window with a rather daunting list of 24 possible fields; four are already labeled with the default assignments. Each of the possible fields represents a spreadsheet column which is why they are numbered. This makes it easy to see how many fields you have, and believe it or not, more is actually better. As an example, when I create a file I plan on 14 different fields. They are:

Not every field is used, but by defining them beforehand I can enter them as needed into a spreadsheet and have all the files I maintain laid out exactly the same. I can hear the questions now, why didn’t I put the coordinates first? The answer is because of a quirk in the way EPE reads through a source file. When a spreadsheet (or CSV or any of the supported file types) is read, EPE assigns the first non-blank field as the first column. If you are creating a POI file from scratch and you don’t have the coordinates, then the first non-blank field is read as the first coordinate. By having the coordinates appear later in the file, I can have EPE open the file and tell it to ignore the error. Everything is read into the correct place field and then EPE can geocode the addresses.

One more thing about the order, the first 9 entries all display on the GO! page. Well, the coordinates don’t display but the POI won’t display without them. The Email field is very handy for displaying information about a specific location. I’ll use my version of the Exxon file as an example. If the particular station has diesel fuel, the word Diesel shows on the GO! page, if it doesn’t have diesel, then the field is blank and the word is not shown. Exxon, in their file indicates a station with diesel with a (D) after the station name. If you have a unit that speaks street names, it will also read the name field of a POI as displayed in the banner and Buddy’s Service D isn’t as clean as just Buddy’s Service. Also, the Nüvi has a limit of about 20 characters it will display (and read) in the banner for a POI Name and keeping POI names short also means the text to speech engine doesn’t have problems trying to read Buddy’s Service – Kangaroo # 476 (D) which only displays and is read as Buddy’s Service – Ka.

The symbol field allows you to pick a symbol for a POI like a gas pump instead of a custom icon such as the firm’s logo. Display says how that symbol is to be shown. It can be only the selected symbol, the symbol and name or the symbol and description. If the field is blank or empty then only a dot is shown with the exception of a custom icon if loaded. Proximity is self-explanatory. This is the distance from each individual POI you want an alert. This works exactly the same as the proximity field in POI Loader when running in manual mode except you can assign a different proximity for some locations. If you are fairly good with a spreadsheet program like Excel you can have one alert for a location without certain features and a different distance if some specific item is there. As an example, you can have an alert of 700 feet (213 meters) for any gas station that doesn’t have diesel and alert at 1500 feet (457 meters) if it does. Using POI Loader in manual only allows you to set one alert distance for all locations.

Two final items. You will need to name your custom layout. I use Standard GPX as my name. This is input into the Change Selected Profile Name box and then you press Close. If you press Default, all your entries will be erased and the 4 default entries substituted. Secondly, you need to remember if you tell EPE to read a file such as an XLS or TXT, it will expect to see the data in the same order as the selected M column layout. In order to read a CSV file, you will need to select an M Column format that has only the default entries. That’s the disadvantage to building a custom file format.

All this leads up to playing with the CSV format files. A standard Garmin CSV format has Longitude, Latitude, POI Name and description. Tom-Tom only uses the first 3 fields but has some special characters it uses to define and separate some elements. In the Tom-Tom OV2 format, the POI Name often contains the name, address and phone number.

First a word about POI Loader. The later versions (2.7.x and later) allow the first two columns to be swapped. This means you can obtain the coordinates for a point and list them in Lat/Lon order rather than Lon/Lat. POI Loader detects the order and handles them correctly. What I don’t know (because I’ve never tried it) is if you can swap the two inside a file. In other words, you have a CSV file you’ve been maintaining for a while that has the first part of the file with Lon/Lat as the first two columns and want to add locations as Lat/Lon. I don’t think the Tom-Tom OV2 will support the columns being switched so POI-Factory’s conversion of CSV to OV2 might also fail.

Now, going back under Options in EPE and selecting 4-column CSV fields Assignments pops open a window to show what will be written in your CSV version of your input file. The defaults are Longitude, Latitude, POI Name and Description. The description field has multiple elements taken from the M-Column assignments. The elements predefined are: < Address>< br>< City>< br>< State> < Post Code>< br>Phone:< Phone>< br>< br>< Description>
< Address> - the street address followed by a < br> or break character to create a new line. < br> is defined in Preferences and this can vary between brands and models. City is displayed on its own line, followed by the state and post (zip) code. The word Phone: is inserted with the phone number after it (Phone: will be displayed even if a phone number is not present because it is defined in the Column 4 fields). Two line feeds after the phone number is any field labeled as “Description.” All these elements are tied directly to any defined M-Column assignment.

As an example of a simple change to the way CSV data is displayed, remove the < br> after City and replace it with a comma followed by a space (< City>, < State> < Post Code>). Your entry will now show as Washington, DC 20001 rather than:

Washington
DC 20001

The best way to look at the elements is if it is surrounded by < and >, it is something defined either in Preferences or as an M-Column field. Items not in < > are taken as text elements which are automatically added whether or not the defined is present.

Putting this all together, go back to where I defined my Standard GPX element fields. You will see I have an element named Longitude. This item will be extracted from my source file no matter where it is in the file and written as the first column in a CSV. The same will happen with Latitude, Address, City, State, Post Code, and Phone. Each of these will be extracted from my input file and placed in the proper position creating a 4-column CSV file. Email, Symbol, Display, Proximity and Comment are not defined in the 4th column entries but description is. If I have an entry in the Description field, it will be, by default, added after the phone number. By shifting or even changing elements in the 4th column field I can either change the order the elements display or substitute elements. As a word of caution, leave the first three elements as currently assigned. That doesn't mean you can't add elements to the third or POI Name field, but remember the limitations of what a Garmin will display as a banner notice.

Putting all this together we see you can create a standard template for either CSV or GPX files. The order of the elements isn’t important as long as they are defined as an M-Column layout. Defining Column 1 to hold POI Name works just as well as defining it to hold the decimal Longitude value. Being able to define how the various files are laid out and where the element resides within your file greatly increases the ability to create and maintain POI files. Not having the coordinates in the first two columns means you can read in a file having the other elements and use EPE’s built-in ability to geocode and save the coordinates into the proper position. You can then output a four column Garmin CSV format, a Garmin GPX format or any of the other supported file formats all from one source file.