Main Menu

using JPCT for cartography!

Started by Melssj5, July 10, 2007, 02:30:47 AM

Previous topic - Next topic

Remo

I've worked a little bit on a real time system for tracking vehicles on a map. We did not use any 3D stuff in it. The whole path and weight data was on another tracking system (It has dynamic weight on the paths due to traffic and road blocks etc.). We pulled the real time data from there and just adjusted cropped image maps of the place so we had the references all set. We loaded at least 8 map units to surround the zoomed area and make zooming faster.
The path algorithms used were 9 custom and 2 standar ones to check for errors etc. ( the ones you can see in books like Dijkstra, etc.).
One of the hard parts was getting the roads to work like roads ( Meaning there's road data rather than trying to get gps position over the map) and mixing it up with terrain and whatever other entities you have there.

We managed the memory by cropping a map (square area) and adding road data (array of nodes array to get road directions and finding where roads meet and with coord data) and serializing that whole thing as a map unit and we rendered that unit and the surrounding ones (8).

We had different resolutions for the maps because sometimes it was needed to zoom a huge area so we built same size maps with much more area and data in it and we serialized again. So when you zoomed out too much most map data was already in place all was neede was to load more data from the other system.
Of course this was a huge machine running it. And the rendering was done apart from the processing.

I really don't see any benefit for using jPCT here thought.

And you do need to get some good maps of the area you will use and work it from there.

Melssj5

but, how could you get the names of the streets on which the car is placed and what about drawing a route for some other points.
Nada por ahora

Remo

We got the position and our application already had names on the streets as we built the map units. Every map unit has part or an entire street which name we already set on the map unit so that was not hard.
We compare the object position with an area in the map (the street, because we already know where the street is since we know some places on the map are static and we know their position, it is defined in the map unit) and just get the street name, kinda like collision detection.
Part of the street database came from some sort of weird GPS/GIS mix system. Some other data was missing and we had to get the data on our own.
We built a tool for making map units, so we had the images and a guy programmed the tool to take road data from another version of the same image used to build the map unit but with roads overlapped. Then we got some dudes to insert the street names by hand with a tool they could click the street on the map, then check on a map (the kind of map the gov has in paper) and set the street name, and we got street data up to date and the way we needed it.
Since we have all the roads and road connections we can use that data to find routes, etc. we built some custom algorithms because we had more requirements than "find the shortest path" but it's kinda the same idea. Then drawing the result was easy because we knew where to draw every point in the map, and if we were using streets we just used the street data from the map unit.

Melssj5

ok I guess I have an idea about that, but which kind of maps do you use, I mean, on which format? Do you know is that app can be bought!?
Nada por ahora

Remo

Used a custom map format. I don't know much about it because I didn't work on getting the map data into the app.
And the application is not for sale sorry :(.

Remo

Ok talked to the guy he said they used something similar to this for some of the processing:

http://www.ittvis.com/envi/envi_in_gis.asp