GIS Software Recommendation

allanro

Posted 18 November 2011 - 01:05 PM

allanro

Newbie

New Member

5 posts

United States

Hi Everyone,

I would like to develop GIS software that can display the progress of ships on the ocean in near real time and place markers at lat/long coordinates for different events. The map will be part of either a web page or desktop application. What products would you recommend for this? What are the prices?

Igor Brejc

Posted 20 November 2011 - 10:40 AM

Igor Brejc

Contributor

Validated Member

32 posts

Location:Maribor

Slovenia

Hi Everyone,

I would like to develop GIS software that can display the progress of ships on the ocean in near real time and place markers at lat/long coordinates for different events. The map will be part of either a web page or desktop application. What products would you recommend for this? What are the prices?

Thank you,

Allan Rosner

Hi Allan,

What OS the desktop application is targeting (Windows, Linux, Mac)? What development platform are you using (Java, C#/.NET, C++, something else)? Are you looking for off-the-shelf components/libraries or something that should be customized to your needs?

allanro

Posted 22 November 2011 - 12:55 PM

allanro

Newbie

New Member

5 posts

United States

Hi Everyone,

I would like to develop GIS software that can display the progress of ships on the ocean in near real time and place markers at lat/long coordinates for different events. The map will be part of either a web page or desktop application. What products would you recommend for this? What are the prices?

Thank you,

Allan Rosner

Hi Allan,

What OS the desktop application is targeting (Windows, Linux, Mac)? What development platform are you using (Java, C#/.NET, C++, something else)? Are you looking for off-the-shelf components/libraries or something that should be customized to your needs?

The OS is Windows and would like to code in C# as I am a software developer. I am looking for components/libraries that can display maps (would be helpful if I did not need to maintain the actual maps) particularly of the coastlines and ocean. I would need the ability to display markers with textual data when a user selects a particular function (i.e. show weather). I also need to zoom in or out of the map and show the progress of a ship.

Igor Brejc

Posted 23 November 2011 - 12:52 AM

Igor Brejc

Contributor

Validated Member

32 posts

Location:Maribor

Slovenia

The OS is Windows and would like to code in C# as I am a software developer. I am looking for components/libraries that can display maps (would be helpful if I did not need to maintain the actual maps) particularly of the coastlines and ocean. I would need the ability to display markers with textual data when a user selects a particular function (i.e. show weather). I also need to zoom in or out of the map and show the progress of a ship.

There are several approaches you could take. I think the easiest one would be to use a base map made of OpenStreetMap Web tiles and then show the markers on top of that. The good thing about this approach is that you can use existing maps served on Internet (either through OSM servers or that of MapQuest, see http://devblog.mapqu...i-transactions/). So you don't need to maintain the map yourself. Another good thing is that this approach works both for desktop and Web software. You could even cover everything with a single Web application using JS libraries like OpenLayers or Leaflet (http://leaflet.cloudmade.com/).The bad thing is that you are then relying on external infrastructure (if this is important for you) and that you'll need Internet connection to be running. Another bad thing is that you won't be able to control how the map looks like.

Another approach would be to generate your own tiles from OSM data, in this case you can control the map style.

Yet another approach would be to render vector maps, but this very much depends on how detailed you want the map to be. If you require very high zooms, this will probably not be a feasible option, since it would require a huge amount of data to be stored locally. And you would have a problem with the Web application (unless you use something like http://www.giscloud.com/).

This very much depends on the details of your requirements. For the desktop C# side you could take a look at http://sharpmap.codeplex.com/, which is open source and free. Alternatively you could also try Maperitive (http://maperitive.net/) (disclaimer: I'm the author). It renders both vector data and Web tiles interactively. If this is something you'd want in your app, we could discuss licensing the WinForms control and C# API for it (see http://maperitive.ne...#Commercial use).

allanro

Posted 24 November 2011 - 10:25 AM

allanro

Newbie

New Member

5 posts

United States

The OS is Windows and would like to code in C# as I am a software developer. I am looking for components/libraries that can display maps (would be helpful if I did not need to maintain the actual maps) particularly of the coastlines and ocean. I would need the ability to display markers with textual data when a user selects a particular function (i.e. show weather). I also need to zoom in or out of the map and show the progress of a ship.

There are several approaches you could take. I think the easiest one would be to use a base map made of OpenStreetMap Web tiles and then show the markers on top of that. The good thing about this approach is that you can use existing maps served on Internet (either through OSM servers or that of MapQuest, see http://devblog.mapqu...i-transactions/). So you don't need to maintain the map yourself. Another good thing is that this approach works both for desktop and Web software. You could even cover everything with a single Web application using JS libraries like OpenLayers or Leaflet (http://leaflet.cloudmade.com/).The bad thing is that you are then relying on external infrastructure (if this is important for you) and that you'll need Internet connection to be running. Another bad thing is that you won't be able to control how the map looks like.

Another approach would be to generate your own tiles from OSM data, in this case you can control the map style.

Yet another approach would be to render vector maps, but this very much depends on how detailed you want the map to be. If you require very high zooms, this will probably not be a feasible option, since it would require a huge amount of data to be stored locally. And you would have a problem with the Web application (unless you use something like http://www.giscloud.com/).

This very much depends on the details of your requirements. For the desktop C# side you could take a look at http://sharpmap.codeplex.com/, which is open source and free. Alternatively you could also try Maperitive (http://maperitive.net/) (disclaimer: I'm the author). It renders both vector data and Web tiles interactively. If this is something you'd want in your app, we could discuss licensing the WinForms control and C# API for it (see http://maperitive.ne...#Commercial use).

Igor,

Thank you for the detailed information. What specifically do you mean by "detailed"? I believe a several mile view as a zoom in limit would be sufficient. I will check into your recommendations. Also, what do you mean by not being able to control what the map looks like?

CyberSWIFT

Posted 25 November 2011 - 01:54 AM

CyberSWIFT

Newbie

Validated Member

4 posts

India

Hi Allan ,

i would like to assist you in the requirement and i feel it would be great if you provide any of your contact details. This way i could provide you with the exact details of the requirement and have a talk with you as well.

evelyngis

Posted 05 December 2011 - 10:02 PM

evelyngis

Newbie

New Member

2 posts

Gender:Female

China

Hi, Igor,

I am impressed by your solutions. I have one question, hope you can help me. Since Allan wanted to display ship locations in real time, I think a GPS receiver is a must?? Is there any GPS API in your solution to get the x,y data in nearly real time? what are they??

Igor Brejc

Posted 06 December 2011 - 05:05 AM

Igor Brejc

Contributor

Validated Member

32 posts

Location:Maribor

Slovenia

Igor,

Thank you for the detailed information. What specifically do you mean by "detailed"? I believe a several mile view as a zoom in limit would be sufficient. I will check into your recommendations. Also, what do you mean by not being able to control what the map looks like?

Do you believe any of the Google products could be viable options?

Sorry for all the questions, but I am a GIS newbie.

Thanks,

Al

Sorry for not responding sooner, I somehow didn't receive the email notification for new replies."Detailed": I would call this view "detailed" and this view "not detailed". For vector rendering, the detailed view would require much more vector data to be stored and rendered by your application (you can get that data for free from OSM, by the way).

"not being able to control what the map looks like": if you simply use Google Maps, Bing or OSM tiles, you get the map in form of multitude of bitmaps (a.k.a. web tiles) which have been pre-rendered by the company you got the tiles from. So the map styling is built-in as it is and you cannot change much (except rendering simple graphics above it using JavaScript).

Google products could absolutely be viable options if a) your application is a Web application and B) you don't get too much traffic (since Google now charges once you get above certain traffic, but this is set to a pretty high value so I wouldn't worry too much). If, however, you want the application to run as a desktop application, then it's another matter - you cannot "steal" Google's Web tiles directly (by sending HTTP requests to their servers, for example), since Google will block you. In that case you are better of using OSM or MapQuest's tiles OR pre-rendering your own tiles OR drawing a vector map.

Igor Brejc

Posted 06 December 2011 - 06:51 AM

Igor Brejc

Contributor

Validated Member

32 posts

Location:Maribor

Slovenia

Hi, Igor,

I am impressed by your solutions. I have one question, hope you can help me. Since Allan wanted to display ship locations in real time, I think a GPS receiver is a must?? Is there any GPS API in your solution to get the x,y data in nearly real time? what are they??

Thanks...

Allan didn't give enough information about his application - whether it should run on a single ship or on a centralized server (I assume the latter). In that case the ship has to somehow send its location (taken from GPS) via satellite or radio to the central HQ, which then displays its location.

As for GPS API, Maperitive itself doesn't directly deal with GPS devices, it's more geared towards cartography. If you're looking for a GPS library in .NET, here's one for you: DotSpatial.Positioning

allanro

Posted 18 January 2012 - 03:21 PM

allanro

Newbie

New Member

5 posts

United States

Hi, Igor,

I am impressed by your solutions. I have one question, hope you can help me. Since Allan wanted to display ship locations in real time, I think a GPS receiver is a must?? Is there any GPS API in your solution to get the x,y data in nearly real time? what are they??

Thanks...

Allan didn't give enough information about his application - whether it should run on a single ship or on a centralized server (I assume the latter). In that case the ship has to somehow send its location (taken from GPS) via satellite or radio to the central HQ, which then displays its location.

As for GPS API, Maperitive itself doesn't directly deal with GPS devices, it's more geared towards cartography. If you're looking for a GPS library in .NET, here's one for you: DotSpatial.Positioning

Igor,

A centralized server with thin clients would be preferable. For this option, the thin client could send a GPS reading to a central server and the server will respond back with the map data. I'm not sure if this solution would be too slow however. The screen wold need to be refreshed every few minutes with maps and markers for certain points of interest.

I believe this solution would be the easiest to maintain if eventually thousands of ships are using the application.