Forgot your password?
typodupeerror
Databases Open Source

Open Source Geographic Tracking? 84

Posted by Soulskill
from the carmen-sandiego-remains-at-large dept.
Walkingshark writes "I work for a company that needs to track people and equipment across the US as they move to, work on, and leave jobs. The boss has been looking at the typical mix of closed, proprietary software and has also considered building off our existing 10-year-old SQL database (with the kind of clunky interface you'd expect from a program built in the late '90s). I'd like to be able to bring him a good open source alternative, but so far I haven't been able to find anything that can do what we need. Ultimately, we need to be able to keep track of a few thousand separate people and pieces of equipment, and to move them in dynamically created groups to and from our locations and jobsites in a way that is sharable between workstations, with updates to location entered at one station being broadcast to all clients in real time. Ideally, this program needs to also give us access to road routing similar to the capability found on Google Maps. We'd doubtless need to be able to modify the source for customization, but I was hoping there was something we could find out there that had the core functionality we're looking for."
This discussion has been archived. No new comments can be posted.

Open Source Geographic Tracking?

Comments Filter:
  • by crath (80215) on Saturday June 26, 2010 @11:28AM (#32702592) Homepage

    ...(with the kind of clunky interface you'd expect from a program built in the late '90s)...

    Actually, clunky interfaces have little to do with the 1990s. Most such applications are a direct consequence poor application design and/or poor programming. Lots of 2010-written apps are clunky too.

    • Tell me about it. I've worked for so many companies that use some of the worst interfacing on their internally developed applications that it's embarrassing to know customers have to look at it. Mostly I put it down to developers being used for interface design, rather than using people talented with both design and development (these kind of employees are expensive, cheaper to get an Indian on a work visa).

      Unfortunately it's not going to change in an hurry, mainly due to IT companies being run by accountan

  • by walmass (67905) on Saturday June 26, 2010 @11:28AM (#32702594)
    How is the asset (people/equipment) location determined and sent back to the HQ? Once you have that piece of information in your database, isn't it as simple as plotting on google maps?
    • by 0100010001010011 (652467) on Saturday June 26, 2010 @11:37AM (#32702628)

      Exactly, this isn't difficult.
      PseudoSQL:
      select name,longitude,latitude from location order time desc limit 1.

      Google Maps API [google.com] and that should be it.

      I didn't want to mess with the API and what I was plotting doesn't change quickly, so I just used PHP to create a KML file which I loaded through GoogleMaps/Earth.

      Make it Ajaxy some 'inserts' of the data and ... that should be it. If the SQL database itself works, there is no reason that you need to replace it. It sounds like it's just the interface that is the problem.

      • Re: (Score:3, Interesting)

        by Idbar (1034346)
        In fact, PostgreSQL evan has types for location, areas, polygons, which are quite useful.
        To present the data SVG could be used and add reference points relevant to your location (city hall, main office, etc), so you can avoid Google or Bing APIs.

        I agree with you that the tough problem is acquiring the GPS data and the means to transmit it to the central database.
        • Re: (Score:1, Insightful)

          by Anonymous Coward

          The built in spatial capabilities of Postgres aren't really that good for geographic information, but that's what we have PostGIS for. And rather than SVG, I'd suggest Geoserver and OpenLayers. I've used this combination myself in developing a system for tracking water levels at wells.

      • by Peachy (21944)

        typo on the URL, should be

        http://code.google.com/apis/maps/index.html [google.com]

      • Add handsets running Google Latitude [google.com] for all the people you want to track, and you're good to go.

        As others have said if you don't trust Google with your data, you can do your own server based on open streetmap; and it's fairly simple to build a custom program for any smartphone platform of your choice which phones home to report position. if you add a bar-code scanning module (and most smarphones these day have APIs which allow the camera to be used to scan barcodes) then people in the field can also report back the location of hardware assets, simply by scanning them.

        I did a system much like this four years ago [journeyman.cc], for monitoring the collection of shellfish; it's GPL, you can download the source from Sourceforge. Unfortunately the fieldkit [journeyman.cc] is dependent on a Hewlett Packard iPAQ model which is now more or less obsolete. But rewriting the fieldkit for use with Android or iOS4 would not be hard.

        The mode of operation was that the inspector in the field would scan his own badge (with barcode); then scan the shellfish gatherer's license card (also with barcode); then scan the barcodes on each sack of shelfish collected. If the fieldkit had a current GPRS connection it reported back location, time and bag numbers to the server in real time, and was able to alert the inspector immediately to violations like re-used bags; if not it would buffer the the information until the next time it got a GPRS signal, at which point it reported back to the server. This allowed near real time tracking of shellfish inspections.

        This obviously isn't what you need to do - but it is analogous to what you need to do and you ought to be able to get the ideas you need from the code. If you need any help, mail me - the address is valid.

      • The problem with just using google maps is that people need to see what is where at a glance, without having to mouse over. I haven't found a way to replace the little red pushpin icons on google with something useful (like unit numbers). The other concern is that they want to keep information on the local server so that if our outside network connection goes down, we can still work.

    • Information is usually called in from the field. Getting our field people to use technology (like smartphones) to email information in is a slow, arduous process, but we'd like to be able to have a mobile app that would let them do it all electronically.

  • tracking how? (Score:3, Informative)

    by roman_mir (125474) on Saturday June 26, 2010 @11:34AM (#32702618) Homepage Journal

    You probably should specify whether you are talking about real time tracking or something that only reads history off of a device. It's cheaper to only read history, for real time you need a constant uplink, but of-course real time gives more interesting potential applications. Also you probably should specify what kind of equipment you are interested in tracking. How precise must the tracking be? Simple things like who will charge/change batteries? How do you see tracking devices attached to the people? What's to stop people from faking the data or simply from covering the devices so they can't get a signal? Or from having 'dead batteries' in the most inopportune moments? How much money do you have for the project? How much time, what are your deadlines? Why are they interested in tracking at all, because based on the reasons for this you probably will have different requirements?

    Those are probably just some of the questions you need to get answers to from your management before you start the project, I mean you are looking at a very expensive problem here, I doubt you'll find an off the shelf solution that will be able to meet all of your requirements, but once you know all of your requirements and reasons, you will be able to use existing components, compact wearable GPS systems or maybe cell-phone triangulation, GPS recorders in cars/trucks, GPS recorders on other 'equipment' (what about batteries on this other 'equipment'?) Seems like it's going to be a huge and a very expensive project.

    • by Eristone (146133) *

      My current employer does software and hardware to do this - it is a proprietary solution and it is expensive. This stuff ain't cheap yet. Now we don't tie into Google maps as of yet, but I think I'll bring that up in the next development meeting. I don't see an open source alternative for real time mainly because the hardware needed. software could be written but it still has to talk to RFID and GPS tags and..

    • With what we're tracking, people will not want to pretend to be elsewhere, it makes their job easier if the hardware automagically tells home base where they are. It doesn't need to be in real time so that isn't an issue, as long as it lets them update home base any time they move or change status.

  • SQL (Score:3, Insightful)

    by DogDude (805747) on Saturday June 26, 2010 @11:39AM (#32702634) Homepage
    If the SQL database is designed correctly, then all you're talking about is taking on lots of different front-ends to it. A SQL database really should remain the backbone of a project like this. You can connect any kind of front end to it that you want, but there's not a better alternative than a plain 'ol database in the back end.
    • by DogDude (805747)
      "tacking on lots of different front ends"
    • The database is definitely showing it's age. It's slow and buggy and generally they try to solve performance issues by throwing more hardware at the problem. Hopefully we can push them in the right direction, but we won't be able to do that until we can show upper management some eye candy to prod them along into financing the real work it's going to take to fix the back end.

  • Dear Ask Slashdot, (Score:5, Insightful)

    by larry bagina (561269) on Saturday June 26, 2010 @11:40AM (#32702638) Journal
    I like Free Open Source Software. Please give me this highly specific software so that we can use it for free in our business. I don't want to actually develop it myself or give back to the community an way. FOSS FTW!!
    • Re: (Score:2, Insightful)

      by Anonymous Coward

      More like "I want highly specialized solutions, but don't want to pay for it"

    • Re: (Score:3, Insightful)

      by Anonymous Coward

      More like, "I have a need and would like to know if it is met by some foss program. Otherwise we have to default back to proprietary software because we have not time or manpower to reinvent the wheel in case the foss program already exists or not". Some specialiced foss software like this might be hard to find even if it exists. Do you suggest that everyone reinvent everything everytime?

      • More like, "I have a need and would like to know if it is met by some foss program. Otherwise we have to default back to proprietary software because we have not time or manpower to reinvent the wheel in case the foss program already exists or not". Some specialiced foss software like this might be hard to find even if it exists. Do you suggest that everyone reinvent everything everytime?

        Sure, didn't you know -- it's a new fad in programming, "Idea Reuse"

      • That was basically my thought. If we modify it for our own use I'll be there to make sure the company abides by the license and redistributes modifications or the source, depending on what it's under. I just don't want to have to pay some dude to write it from scratch if there's something we can build on sitting on a shelf out there somewhere.

    • FOSS FTW!!

      Free The Wookies? Sure, where do I sign?
    • Re: (Score:2, Interesting)

      by Anonymous Coward

      "We'd doubtless need to be able to modify the source for customization, but I was hoping there was something we could find out there that had the core functionality we're looking for."

      You missed the part where they said they'd modify/develop. They just don't want to reinvent the wheel and want to support OSS.

    • by Lundse (1036754)

      I wouldn't mind this guy turning his boss/firm/department in another small FOSS success story... If a couple hundred companies used whatever FOSS solution is best for this, a few of them might contribute something useful, a handfull will notice a bug that needed fixing somewhere in the stack, a dozen will come up with a GUI improvement and they'll all mention it from time and again.
      My two cents, this is FOSS FTW!

      On a related note: could someone suggest an AGPL solution, please? :-)

  • by ugen (93902) on Saturday June 26, 2010 @11:44AM (#32702648)

    Note that both Google maps and Bing require access through specific API and paid-for licenses specifically for anyone who wants to use their mapping services for "fleet" tracking and similar applications. Yours clearly falls into that area. Since without mapping data a project like that cannot exist - it is unlikely there is a truly free alternative (and, as a consequence, not much open source - I suppose because open source developers don't really find a compelling reason to tie to a proprietary data set).

    Incidentally, Bing has somewhat more lenient terms for those who want to do tracking.

    • Re: (Score:3, Informative)

      by pthisis (27352)

      Since without mapping data a project like that cannot exist - it is unlikely there is a truly free alternative (and, as a consequence, not much open source - I suppose because open source developers don't really find a compelling reason to tie to a proprietary data set).

      But there are non-proprietary mapping data sets available (e.g. openstreetmap.org)

    • by lxnyce (1280956) on Saturday June 26, 2010 @12:35PM (#32702958)
      OpenStreetMap and OpenLayers will give you a truly free platform to work with. No hidden costs or restrictions.
    • Might I suggest looking into the NASA Open Source application, World Wind [nasa.gov]? You can do anything you can think of.. and people have used it to track several thousand objects in real time and from a database.

      You can see some of what can be done on the demos [nasa.gov] page.

      What you want to do is fairly simple, and has been done before.. you can probably find enough code examples in the SDK and on the forum [worldwindcentral.com].

  • Check out the Marble (Score:3, Interesting)

    by Fri13 (963421) on Saturday June 26, 2010 @11:44AM (#32702656)

    I think only thing what you can start of is take Marble (part of KDE SC Edu package) what supports openstreetmaps and other GPS locations. You can get GPS information from devices and place them to maps. You can also draw routes to map in the latest version. You can as well get satelite views and other kind as well. It supports OSD's and other templates what could be used. Right now they are used to show wikipedia, flicrk! and few other sites infos and thumbnails over map.

    So at least there is no need to start from scratch.

    My friend works on garden company and while he is the vice president, he wanted to arrage a GPS system with same ideas as you have. The results were that in the office there is a big 50" LCD screen what shows the map and on that map is continuesly realtime updates of the company vehicles (about 35) and every job what they get, is listed to side of the screen. There you can easily assign groups or specific workers to do them. They get them pushed to their mobile devices (If I remember correctly, all were iPhones) with contact and job informations, like camera photos of what is needed to move to where or what trees are needed to cut off or where the fountain is going to be placed, how the rock path is needed to get dicked etc etc.

    That was about 2 years ago and I have no idea is it open source or not. But I only know such thing just made it so much easier to manage the company when almost all workers are all the time outside of the office in the field and there usually is one job for day or two on summertimes. Winter time the joblist is more standard when there is no outside works. But same thing applies then.

    Especially they have liked very much the idea that if you need to pickup something from store, you can check what is the closest car and check what is the route to it next tasks. So you can just ask car B to go store, pick up the merchandines and meet car A between B's route to next tasks and swap them to car A what can continue to do their job. While saving time like 1-2 hourhs in that.

    And what has improved their work quality almost totall error free is the integration to phones snapped photos. So when on last day the boss meets the client and discuss the plans, the photos works as orders and there is no mistakes what was needed to do and no need to call after on next day to ask what was the tasks and what tree to cut, what flowers to place in what order etc.

    If possible, you could contact to Marble developers, ask what would be possible and work with them. In the end there should be nothing more needed than get the phones or other devices to send GPS data to servers where they get grepped and processed and then shown over marble.

    And Marble only needs KDE Platform and KDE Edu package. So you can get it work with different OS's (Linux, XNU, NT, SunOS, FreeBSD). So all the software systems using those OS's can be used then.

  • by chrysalis (50680) on Saturday June 26, 2010 @11:52AM (#32702692) Homepage

    While it won't help for onroad routing, Pincaster might help you to store 2d geographic data and to easily display it on a map : http://github.com/jedisct1/Pincaster/blob/master/README.markdown [github.com]

  • Anonymous Coward (Score:5, Informative)

    by Anonymous Coward on Saturday June 26, 2010 @11:59AM (#32702738)

    You need to check out Postgresql, http://wwwpostgresql.org in combination with Postgis , http://postgis.refractions.net/. The postgis addon to postgresql allows you to use geometry or geographic field types to capture projected or lat/long coordinate data. You can then perform spatial queries on the data in the database using a string of sql. http://postgis.refractions.net/documentation/manual-1.5/ .

    Think of it this way, with a normal database, you can say select all red-headed persons with the first name of Bob ( if you have hair color and first name in the database) . With a spatial database you can say select all red-headed persons with the first name of Bob who live within 200m of a fire hydrant on Main Street in the town of Springfield.

    The cool part about this is that any application that can pass an SQL string to the database can now perform spatial queries ( intersections, points on a line, routing (http://pgrouting.postlbs.org/ ) .

    So, you can spend many 10's of thousands of $$$$ on a proprietary software package that puts blobs in the database accessible only through their interface, or you can go with Postgresql/postgis and connect to and manipulate the data in any way you want, with plenty of options for commercial support.

     

  • by mattr (78516) <mattr.telebody@com> on Saturday June 26, 2010 @12:03PM (#32702768) Homepage Journal

    Have you considered using force.com (there is for example the GeoPointe tool to link with google maps) or perhaps Google App Engine (GAE) as a platform for building your own easily scalable, mashup-friendly service? There seems to be something called GeoModel which you can access from within GAE for simple queries like what assets are within a given radius. These services will host it for you so you can save the money of purchasing and renting your own servers too. Here are some jumping off points perhaps..

    http://googlemapsapi.blogspot.com/2008/05/app-engine-local-search-maps-making.html [blogspot.com]
    http://code.google.com/apis/maps/articles/geospatial.html#geomodel [google.com]
    http://www.arrowpointe.com/ [arrowpointe.com]
    http://sites.force.com/appexchange/listingDetail?listingId=a0N300000016ZHeEAM [force.com]

  • opendmtp (Score:1, Interesting)

    by Anonymous Coward

    http://www.opendmtp.org/

  • by Anonymous Coward

    openstreetmap.org [openstreetmap.org] That will get you
    map tiles, several viewers, and access to the underlying street information.

  • SaaS Solution (Score:1, Informative)

    by Anonymous Coward

    Unfortunately the details here aren't totally complete for me to be sure, but a software as a service solution may work and be able to keep costs down. I know of one company that uses GPS to track everything from people to assets, to just about anything. Check out Trootrack.com. It's a SaaS solution that might work for you. Give them a call and see if it will do what you want. Not open source but it can be customized as need be most of the time.

  • OpenGTS (Score:2, Informative)

    by Anonymous Coward

    Google OpenGTS..it's an open source asset tracking solution

    • Re: (Score:3, Informative)

      by RoFLKOPTr (1294290)

      Seconding OpenGTS. I don't use it personally, but my uncle is a private investigator who chases trucks around California to find them for repo men, and he recently switched to OpenGTS (from some insanely expensive tracking system) for GPS tracking and loves it. It would be great for fleet tracking as well. I believe it uses SMS to transmit real-time location data, so you will need a texting plan for each device.

      http://opengts.sourceforge.net/ [sourceforge.net]

  • Anonymous Coward (Score:1, Interesting)

    by Anonymous Coward

    You may wish to keep your eye on the OpenTripPlanner project, which is a multi-modal trip planner that's LGPL. This might provide the routing algorithm you need. (http://opentripplanner.org)

  • I thought i'd add my 2 cents here as i am currently working on a project that does exactly what you want, however it is not open source. The problem is that it costs money in order to use either Bing or Google maps and i have not seen a decent alternative yet. Also what seems like a simple coding project to make this new application is likely not as easy as you think for various reasons. We have a dedicated team of 7 coders and we have even hired a few outside contractors, if i were to guess i'd say we'v
  • Map Authoring (Score:2, Informative)

    If you want to be able to update you base layers: -postgres with postGIS lets you store geometry (e.g lines/roads) -GDAL/ORG with GRASS lets you author content -openstreet maps in an opensource alternative to googlemaps that provides an API -There are several geotagging/location modules in python that will take a lat/long and output an address
  • GeoServer? (Score:3, Informative)

    by SEWilco (27983) on Saturday June 26, 2010 @12:48PM (#32703040) Journal
    How about GeoServer [geoserver.org]? Several types of interfaces are available.
  • PostgreSQL + PostGIS for the backend unless you already use and need oracle/db2. If you do gis do it with gis-enabled db. Openlayers for easy gui, GS for the stuff between the gui and db.
  • Postgres (Score:3, Informative)

    by Greyfox (87712) on Saturday June 26, 2010 @12:58PM (#32703082) Homepage Journal
    Postgres has some GIS extensions that are quite nice. That'd be the foundation of anything I'd build. You might need some additional components if you also need to serve imagery.
  • I doubt if there's anything Pre-Built and Open-Source that can do that, but I bet with a few person-years or less of work you could make something with GRASS, PostGIS and/or qGIS that can map the equipment given a GPS & SMS capable tracking device (purpose built or smartphone app). Not so sure about the route finding though.
    • I'd be very grateful if you could do my job for me and (since I have some options) simultaneously add several billion dollars value to the company I work for, all the while making me look good to my boss's boss.

      Yours sincerely...

  • Ships are routinely tracked using AIS transponders. There are free mapping services online. See for example:

    Tracking Ship Positions Possible Worldwide with Free AIS Services [suite101.com]

  • SAAS solution (Score:3, Interesting)

    by mildavw (1842758) on Saturday June 26, 2010 @02:15PM (#32703528)

    I don't know about open source solutions for you, but I'm working on a SAAS startup that offers some of what you're looking for: http://www.dedicatedmaps.com./ [www.dedicatedmaps.com] (u/p = demo/demo)

    It's essentially a google map behind a log in showing only your assets with access control and roles for your users. We put things on the map that are automated real time (via cell phone app, SPOT unit, satellite-based VMS, or marine AIS), automated non-real time (e.g. we periodically pull or push locations and inventory details from an external database), and decidedly manual (user places a marker on the map).

    Our current customers are oil spill response companies (who are quite busy at the moment!) They have to keep track of things that rarely move--like thousands of pieces of gear spread out in staging areas waiting months or years between spills, to things that move quickly--like personnel and ships responding to a spill on a river with ship traffic. We even have a satellite-based unit that can be thrown into the oil to show its movement, say, down a river.

    I'd be happy to chat with you about how it works if you're going to roll your own or are interested in the service.

  • "(with the kind of clunky interface you'd expect from a program built in the late '90s)"

    LOL! Let me know when you're old enough and I'll buy you a beer :-)
    • Bah, I merely used that to differentiate it from, say, the kind of klunky program you might have seen built in the late 80s, designed to run on a terminal in brilliant green monochrome.

      What we use looks like it was built on win 3.1 and then ported over, just based on the interface conventions (or lack thereof).

  • by Technician (215283) on Saturday June 26, 2010 @06:26PM (#32705224)

    Don't overlook the protocol used by radio amateurs for location tracking. This is often used with amateur weather balloon and photography. Getting a fix on the landing site helps recovery of the payload.

    Auto Position Reporting System (APRS) can be adapted to other communications links besides ham radio.
    http://www.cave.org/aprs/ [cave.org]
    http://www.cave.org/aprs/aprswhat.html [cave.org]
    http://freshmeat.net/projects/gpsd/ [freshmeat.net]

  • TangoGPS (Score:3, Informative)

    by rwa2 (4391) * on Saturday June 26, 2010 @09:03PM (#32706036) Homepage Journal

    TangoGPS [tangogps.org] is the best OSS alternative to Google Maps / Lattitude that I've seen. Much more usable and featureful than GPSdrive, which for some reason hangs out much higher on all the search engines and lists for Linux GPS mapping apps, even though TangoGPS has been around for a few years now.

    TangoGPS supports a Latitude-like latlon reporting and friend tracker, which would probably be pretty easy to modify to use your own server. It supports multiple map sources, including OSM, and even a "for test purposes" view of Google Maps. The routing is rudimentary since I think it just uses the basic TIGER data and not one of the more tuned commercial street databases, but it's there.

    Runs great on my eeePC with a bluetooth GPS and dumbphone EDGE uplink, though it looks like they also have clients for smaller devices. The user interface is somewhat touchscreen friendly, with large controls.

    Have fun!

  • Just a word about location precision. For large areas, GPS is your best bet, UNLESS your inside of building. If you're trying to track equipment within a building and in the sub 10 ft range, then you're looking a something much more complicated. Currently there's a lot of work being done in UWB which can theoretically resolve down to 6 to 12 inches of precision. Fantastically complicated right now and definitely not an OS solution. As others mention, if GPS accuracy is all you're looking for, take a look
  • by mdm42 (244204)
    You'd be insane to do a project like this with a SQL backend. Look into using a decent object database (OODBMS).
    • by vlm (69642)

      You'd be insane to do a project like this with a SQL backend

      Why? His spec was for "a few thousand" locations.

      There is probably a way to provide some "job security" by making it extremely complicated to develop and deploy, but thats not necessarily sane.

  • I'm developing a completely open source project for logging and accessing/viewing geo data. It consists of a server part (Apache, MySQL and PHP) and a Client part (currently an Android client and a Web client using the Geolocation API) http://opengeotracker.org/ [opengeotracker.org]

The economy depends about as much on economists as the weather does on weather forecasters. -- Jean-Paul Kauffmann

Working...