[mapserver-users] Asking for guidelines about a project

Ben Madin lists at remoteinformation.com.au
Sun Jun 19 09:31:56 EDT 2011


I've done similar to Brent's suggestions, but tracking boats with 2 hourly updates. We just stored all the location data in one table with a reference id to a boat name and details in another project.

The default setting showed the current location and the last 72 hours of track... Using a query like select blah order by recordtime desc limit 36. we then created a linestring and mapped those. It was a bit heavy on the poor old (really old) server, but there were only about 70 boats all up.

In retrospect (and if I had more boats or users), I would create two tables, one holding the all the point locations, and one holding the default tracks. The default tracks would be updated by a trigger on insertion of the new records into the locations table, rather than all being computed on the fly.

Anyway, 101 ways to skin a cat. 

cheers

Ben





On 18/06/2011, at 11:31 AM, mapserver-users-request at lists.osgeo.org wrote:

>>>> From: Brent Fraser <bfraser at geoanalytic.com>
>>>> Date: 18 June 2011 3:27:00 AM AEST
>>>> To: Saka Royban <sakaroyban at yahoo.com>
>>>> Cc: MapServer <mapserver-users at lists.osgeo.org>
>>>> Subject: Re: [mapserver-users] Asking for guidelines about a project
>>>> 
>>>> 
>>>>     Well, it's up to you how to model the objects (that's the great thing about relational databases).  Typically, I've added a table of "Historical Positions" with basically the same structure as the "vehicle" table (but in that case the unique key is not the  vehicle ID, but instead just a system assigned key like OID).  As for the points passed by, I would not save that information in a table, instead consider it the result of a spatial query (say in a PostGIS view) at display time.
>>>> 
>>>>   A system like this usually takes a large of amount of time for requirements, investigation, design, and prototyping.  And of course, construction, testing, documentation, and training.  If you want something more packaged you can just download and install, you may want to do some searching on the web.
>>>> 
>>>> Best Regards,
>>>> Brent Fraser
>>>> 
>>>> On 6/17/2011 10:56 AM, Saka Royban wrote:
>>>>> 
>>>>> Thanks for ur answer and also Josh's answer.
>>>>> In fact, i should be able to display path of vehicles (usually more than 1 vehicle in display area) and also be able to save points passed by vehicles and time of passing (for some queries). Cause of that, i thought maybe i need one table per vehicle.
>>>>> Do u think any more idea?
>>>>> 
>>>>> Best Regards
>>>>> 
>>>>> From: Brent Fraser <bfraser at geoanalytic.com>
>>>>> To: Saka Royban <sakaroyban at yahoo.com>
>>>>> Cc: MapServer <mapserver-users at lists.osgeo.org>
>>>>> Sent: Fri, June 17, 2011 7:49:20 PM
>>>>> Subject: Re: [mapserver-users] Asking for guidelines about a project
>>>>> 
>>>>> The database schema depends on what you want to do with the data (display current position?  A track of historical positions?), and how much data you expect (how may objects will be tracked?  how often will they report?).
>>>>> 
>>>>> A simple schema would have one table (e.g. "vehicles"), with one row per tracked object
>>>>> 
>>>>> Table: Vehicles
>>>>> 
>>>>> ID:    Name:         Position:       Status:   UpdateTime:
>>>>> 1      My Car        point(51,-115)  active    2011-06-16 10:23:54+02
>>>>> 2      Another Car   point(52,-116)  inactive  2010-05-15 11:13:12+02
>>>>> 
>>>>> With this schema, when a new position arrives for  "My Car", an update statement is issued to change the row's Position and UpdateTime (and possibly Status).
>>>>> 
>>>>>   The table is treated as a PostGIS point layer by mapserver.
>>>>> 
>>>>>   In my implementations, the position data was updated every 30 to 60 minutes (they were ships and construction vehicles), so there was no need to ask mapserver to regenerate a graphic every second; an updated map was shown whenever a user did a pan or zoom.  You may be able to configure OpenLayers to do a CGI request to mapserver every few seconds, but I've never done that.
>>>>> 
>>>>> Best Regards,
>>>>> Brent Fraser
>>>>> 
>>>>> On 6/16/2011 11:52 PM, Saka Royban wrote:
>>>>>> 
>>>>>> Thanks a lot brent
>>>>>> I checked provided link and i;m gonna give it a try.
>>>>>> About ur helpful advices, i'm confused about how to save data in PostGIS? with what schema? 
>>>>>> I mean i have to keep track of each paced point by moving objects. Should i record each point as a record, so it means one table per moving object ?
>>>>>> Also for displaying these varaiant data, there should some sort of plan. I don't think i'm able to say to MapServer CGI at each second connect to PostGIS and read the new data, then i have to use MapScript. Am i right? (Can this process be done via OpenLayers?)
>>>>>> 
>>>>>> Best Regards
>>>>>> 
>>>>>> From: Brent Fraser <bfraser at geoanalytic.com>
>>>>>> To: Saka Royban <sakaroyban at yahoo.com>
>>>>>> Cc: MapServer <mapserver-users at lists.osgeo.org>
>>>>>> Sent: Tue, June 14, 2011 7:14:08 PM
>>>>>> Subject: Re: [mapserver-users] Asking for guidelines about a project
>>>>>> 
>>>>>> Saka,
>>>>>> 
>>>>>>   I've had good success using PostGIS for data storage in implementing tracking systems.  While you'll need to create your own code for updating the positions in the database, mapserver can read points from PostGIS and can render the points into a map image for use with the OpenLayers client.
>>>>>> 
>>>>>>   There are other solutions too, like OpenGTS (http://opengts.sourceforge.net/index.html)
>>>>>> Best Regards,
>>>>>> Brent Fraser
>>>>>> 
>>>>>> On 6/14/2011 12:08 AM, Saka Royban wrote:
>>>>>>> 
>>>>>>> Hi all.
>>>>>>> Strictly Speaking, i have a project that i should display some moving objects on a map via browser.
>>>>>>> Generally, i don't know how to start? i mean how should i save these time-based objects in DB and how to retrieve and display them via Mapserver? where should i use client side scripting like OpneLayers?
>>>>>>> Any help woudbe greatly appreciated.
>>>>>>> 
>>>>>>> Thanks in advance
>>>> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/mapserver-users/attachments/20110619/fdcf8d3a/attachment.html


More information about the mapserver-users mailing list