Jump to content

 
Photo

GIS Software Recommendation

- - - - -

  • Please log in to reply
15 replies to this topic

#1
allanro

allanro

    Newbie

  • New Member
  • Pip
  • 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

#2
Igor Brejc

Igor Brejc

    Contributor

  • Validated Member
  • PipPip
  • 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?
Igor Brejc
author of Maperitive, an OSM-based mapmaking software

#3
allanro

allanro

    Newbie

  • New Member
  • Pip
  • 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.

#4
GISRox

GISRox

    Master Contributor

  • Validated Member
  • PipPipPipPip
  • 104 posts
  • Gender:Male
  • Interests:Outdoors, maps, travel.
  • United States

Take a look at TatukGIS. I worked with it a few years back and was a pretty good development API for the money.


http://www.tatukgis.com/



#5
Igor Brejc

Igor Brejc

    Contributor

  • Validated Member
  • PipPip
  • 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).
Igor Brejc
author of Maperitive, an OSM-based mapmaking software

#6
frax

frax

    Hall of Fame

  • Associate Admin
  • PipPipPipPipPipPipPip
  • 2,304 posts
  • Gender:Male
  • Location:Stockholm, Sweden
  • Interests:music, hiking, friends, nature, photography, traveling. and maps!
  • Sweden

The absolute easiest would be to do this in a mash-up/web fashion, and build this upon Google Maps, Bing or even Google Earth.

For more desktop application needs, you can also look at ArcObjects (by ESRI).
Hugo Ahlenius
Nordpil - custom maps and GIS
http://nordpil.com/
Twitter

#7
l.jegou

l.jegou

    Master Contributor

  • Validated Member
  • PipPipPipPip
  • 114 posts
  • Gender:Male
  • Location:Toulouse
  • Interests:Webmapping, thematical mapping.
  • France

For a list of libraries and projects, check : http://www.freegis.org/

#8
allanro

allanro

    Newbie

  • New Member
  • Pip
  • 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?

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

#9
allanro

allanro

    Newbie

  • New Member
  • Pip
  • 5 posts
  • United States

The absolute easiest would be to do this in a mash-up/web fashion, and build this upon Google Maps, Bing or even Google Earth.

For more desktop application needs, you can also look at ArcObjects (by ESRI).


Hugo,

Can you point me to API information and/or samples that show the capabilities of each of your options? I am also interested in a pricing structure.

Thanks,

Al

#10
frax

frax

    Hall of Fame

  • Associate Admin
  • PipPipPipPipPipPipPip
  • 2,304 posts
  • Gender:Male
  • Location:Stockholm, Sweden
  • Interests:music, hiking, friends, nature, photography, traveling. and maps!
  • Sweden

Just use your favorite search engine, there are loads of samples around!
http://code.google.c...maps/index.html
http://code.google.c.../documentation/
ArcObjects is apparently ArcGIS Engine now, I think
Hugo Ahlenius
Nordpil - custom maps and GIS
http://nordpil.com/
Twitter

#11
CyberSWIFT

CyberSWIFT

    Newbie

  • Validated Member
  • Pip
  • 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.

You can get in touch with me at - info@cyber-swift.com

#12
evelyngis

evelyngis

    Newbie

  • New Member
  • Pip
  • 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??

Thanks...

#13
Igor Brejc

Igor Brejc

    Contributor

  • Validated Member
  • PipPip
  • 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.

Hope it helps.
Igor Brejc
author of Maperitive, an OSM-based mapmaking software

#14
Igor Brejc

Igor Brejc

    Contributor

  • Validated Member
  • PipPip
  • 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
Igor Brejc
author of Maperitive, an OSM-based mapmaking software

#15
allanro

allanro

    Newbie

  • New Member
  • Pip
  • 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.

Thanks,

Al




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

-->