Programming for POI Factory


There are a few programming projects I'd like to tackle soon for POI Factory:

* database import - import locations from CSV and GPX formats into the web site database (each location becomes a separate record in the database).

* workflow system - track requests and work assignments for creating / updating POI

* membership manager - improve tools for managing active member status / contributor status.

Things go pretty slowly when I'm working by myself. It would be great to find some volunteers with PHP/MySQL skills smile


I have used PHP and MySQL

I have used PHP and MySQL before.

How do you currently store the locations you have?
What are you looking to do by storeing the locations in a database, let's say MySQL?


POI Database

Most of the locations are stored in the file system in the same format they were uploaded (CSV or GPX). A few of the "files" are stored as individual locations in a MySQL database.

Key objectives for moving locations to the database:

* Enable several people to make edits to the same file at the same time (one location at a time)

* Enable users to select a subset of locations to download just a local area

* Enable users to choose the download format they want (e.g., GPX, CSV, etc.)

I've already built some of this functionality in the existing database. Key things that are lacking right now are a user-friendly import process and selection by area. I'd also like to add download formats for TomTom and Magellan.

If you're curious, I can send more details via email.


A few things that I was

A few things that I was thinking would be Interesting.

I noticed there was a delay (weekly) for redlight camera files to be released. Now, if you created a table with rows for each camera, I see a few things that would result. Like you said, multiple people could be entering locations into the database. For example, you have a list. Johnny enteres first 13 locations and jane enters the last 13 locations. They can do it at the same time or different times. This would allow more poeple to work on a large project.
Second, you could create a PHP page that builds the file at run time when requested by a user. This would give people up to the minute redlight POI and not have to create a new version every week.
Third, after the database is running create a custom PHP form for redlight submission. Let the user enter any know info (intersecting streets, coordinates if known, how they foudn out about it, etc.) This informaiton gets enetered in a seperate table. An administrator reviews the submissions via a admin PHP page. Here they can add/correct coordinates, add you .10xxbc thing, and approve with a check box. When the approve is submitted by hitting the submit button, the information is moved from the submission table to the live redlight table and is instantly available.

Now to allow users to select a subset could be done several ways. You could just use a SQL query to take coordinates of a certain range. Decide how you would want to break the subset down. Say timezones, regions, or state. Assign each row in the table a region field. The midwest for example could be assigned the number 1 or California could be assigned the number 1. Then each addititional area would be 2, 3, etc. Then a simple query for select * from regionID where region=1; could be used. Agin the file is created at run time so a ton of subset files don't need to be maintained.

Just some ideas.

POI Database

Most of the basics for creating files from scratch are already in place:

There's a POI table that holds a record for each location, with separate fields for things like phone, street address, notes, and (obviously) coordinates. There's also another table that groups locations into "poi types", which holds settings for required fields, and default values. A third table manages user access for each poi type.

Entry screens (similar to the "my locations" feature) enable users to edit locations for a POI type. Duplicate checks are done as each location is entered. Output routines give you a choice to generate GPX or several CSV formats.

At this point, what would really be nice is a good solution to parse and import data from uploaded CSV or GPX files into the POI database. That would make it easy to add a few locations to an existing file without needing to re-upload the whole file.

I'm going to ask miss poi to setup some new poi types in the database for metro area attractions. This would be a good way to utilize the existing tools and allow several to collaborate for an area.

If the metro area trial works well, I'll prioritize work on a new module to import from existing GPX / CSV files.

Thanks for sharing your ideas smile


Gald to help


I know both PHP and MySql and have about 30 yrs of programming experience. Let me know what I can do to help.

John, Nuvi 65LMT, Mac User

Thanks JP

I'll touch base with you via email. JM