Quelle est la meilleure plateforme de développement pour les applications SIG?

StackOverflow https://stackoverflow.com/questions/1468600

  •  13-09-2019
  •  | 
  •  

Question

L'examen d'une nouvelle exigence de développement de produits SIG et son dans une phase de collecte des besoins. Cette application doit fonctionner sur un bureau et une partie de l'application sur un appareil mobile qui peut alors synchroniser sur le bureau ou le serveur. Ce produit traitera des images, la définition des limites, l'analyse en utilisant des couches, des polygones, l'importation de fichiers de forme, utilisez la journalisation GPS pour définir pour saisir des enregistrements limites et l'application. Quel serait l'environnement de développement idéal? étant donné que l'une des principales exigences est le temps d'accès au marché o ce produit. Heared beaucoup sur Esri comme un outil de cartographie idéal et Oracle Spatial ou SQL Server en tant que les joueurs de base de données. Comment puis-je faire pour analyser les bons outils pour ce développement qui implique WEB, application de bureau, la plate-forme mobile et l'application côté serveur? Toutes les idées de gens expérimentés de développement de produits!

Était-ce utile?

La solution

Si cette application est pour Windows (bureau) et Windows Mobile, puis C # /. Net est un excellent choix langue / plate-forme. Avec Mono, vous pouvez aussi (éventuellement) couvrir Mac, Linux et l'iPhone. SQL Server ou Oracle travailleraient pour la base de données, bien que j'aller avec SQL Server (Oracle, pour tous ses points positifs, est juste beaucoup plus compliqué à traiter).

Puisque le composant Web peut être ASP.Net, vous avez l'avantage d'avoir tous de votre code (même dans SQL Server) être C #, donc vous avez vraiment seulement à maîtriser une langue.

Autres conseils

Esri ne certainement fournir beaucoup de bons outils. Surtout si vous avez un besoin de l'appareil mobile, je regarderais en Esri, puisque je ne suis pas au courant des alternatives qui sont vraiment forts dans le monde mobile.

( Modifier : Quand je dis "mobile" ci-dessus, je vous supposais voulais dire des unités SIG mobiles, comme les unités de Trimble. Si vous voulez vraiment dire faire du SIG mobile sur des choses comme l'iPhone, vous êtes probablement mieux à l'aide d'outils spécifiques à la plateforme. Je sais que Apple ont des boîtes à outils assez bons (sous NDA IIRC) que vous pouvez utiliser pour faire des applications géospatiales sur l'iPhone. Je ne sais pas ce que le soutien ressemble à d'autres appareils mobiles.)

Sur la fin de base de données, Oracle Spatial, SQL Server 2008 et PostGIS sont tous les joueurs. Si vous utilisez une solution Esri, cependant, sachez que Esri se positionne essentiellement comme une solution de bout en bout. Ainsi, tout accès à votre base de données sera probablement passer par la couche ArcSDE de ESRI, qui signifie que les avantages uniques que les différentes plates-formes de base de données peuvent apporter à la table seront perdues.

En termes de rendu de carte réelle, je n'ai pas trouvé des solutions Esri être idéal. En particulier, une grande partie du code ArcObjects a des problèmes dans un environnement fortement multithread, (par exemple rendu beaucoup de nombreuses cartes à la fois) qui ne sont tout simplement pas là avec d'autres solutions de rendu. Une alternative consiste à utiliser des solutions Esri pour les parties de votre système (par exemple le support mobile, analyse), et utiliser d'autres solutions pour d'autres parties.

Ma tendance serait de se pencher vers l'aide d'outils open source pour autant de choses que possible. Certains outils pour se pencher sur les suivants:

  • PostGIS pour la base de données géospatiale
  • GDAL / OGR pour la conversion de données
  • GDAL pour l'imagerie quoi que ce soit à peu près liées
  • JTS ou GEOS pour la topologie (mathématique polygone, etc.)
  • MapServer pour le rendu
  • OpenLayers front-end web

Bien sûr, si le temps d'accès au marché est une contrainte majeure, alors l'une des principales choses à penser est ce que votre équipe sait déjà. Si votre équipe est familier avec les outils ESRI et non avec des alternatives open source, vous voudrez peut-être aller dans cette voie tout simplement hors de expedience.

Et, comme le souligne MusiGenesis sur C NET # /. Peut être une bonne plate-forme pour examiner, en plus de tous ces outils. Il est certainement possible de faire du développement ArcObjects avec C #, et mon expérience est que c'est un plus bel environnement pour le développement ArcObjects que COM directement à partir de C ++.

Je suggère de faire une promenade à travers la pile de projets développés sous l'égide de OSGeo Fondation - OSGeo. org. Il y a une variété de projets Open Source disponibles pour diverses applications, plates-formes de développement, etc.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top