2009-09-30 9 views
1

Je dois développer une extension basée sur la localisation d'une application existante qui permettra aux utilisateurs de voir tous les autres utilisateurs qui les entourent (dans une distance aérienne fixe). L'application existante a été développée en utilisant Axis (services Web) + Spring + Hibernate + MySQL.Présentation de la façon de développer une application LBS/SIG en Java

Les exigences sont:

  1. cadre Java (de préférence open source à moins que la solution commerciale offre de grands avantages). Intégration avec Hibernate, Spring, etc.
  2. L'utilisateur doit mettre à jour son emplacement sur des périodes définies en utilisant l'API standard (SOAP ou REST) ​​
  3. L'utilisateur doit pouvoir mettre à jour l'emplacement en envoyant la latitude et la longitude ou une adresse américaine.
  4. Utilisez éventuellement des données de tour de téléphonie cellulaire et/ou de réseau Wi-Fi pour certains appareils si le GPS n'est pas disponible.
  5. Il n'est pas nécessaire d'avoir des instructions de marche ou de conduite. Il n'est pas nécessaire d'avoir une distance de conduite ou de marche, juste une distance aérienne approximative.
  6. Les utilisateurs de l'application continuent de déménager (vendeurs) et mettent à jour leur emplacement dans des périodes définies (toutes les ~ 15 min.)
  7. Le projet pourrait changer à l'avenir pour gérer d'autres points d'intérêt (p. , les emplacements des clients), mais ceux-ci seront probablement dans des positions physiques fixes (par rapport aux utilisateurs qui continuent à bouger).
  8. La récupération des utilisateurs autour d'un utilisateur spécifique est essentielle. par conséquent, préférera une carte en mémoire (et non une requête de base de données).
  9. À ce stade, il n'est pas nécessaire de rendre une carte. Cela pourrait changer cependant.

Je l'ai vu ou entendu les termes suivants et les cadres et je ne suis pas sûr de ce que signifient-ils et qui l'un d'eux à utiliser:

  • Esri
  • Shapefiles
  • GeoServer
  • GeoTools
  • PostGIS

J'apprécierai vraiment un bref aperçu des étapes que je dois prendre pour développer un tel projet, si et comment utiliser les outils ci-dessus, quelles données (c.-à-d. GPS, Wifi, Cell-tours) est disponible gratuitement et que nous devons payer.

Des références à certains tutoriels ou livres seront grandement appréciées.

Merci!

Répondre

1

Je n'aime vraiment pas votre question. En tant que professionnel géospatial avec un diplôme universitaire et 12 ans d'expérience, je voudrais dire: embaucher quelqu'un qui peut faire le travail pour vous.

Mais je vais essayer de donner une sorte de réponse décente:

  • L'ensemble de l'application pourrait être construit avec open-source.
  • Les cartes nécessitent des géodonnées pour fournir un arrière-plan.cela peut être soit; réel coûteux (TeleAtlas ou données NAVTEQ) ou n'a pas de prix (OpenStreetMap)
  • Esri est une société
  • Shapefiles sont un format de fichier pour stocker des données spatiales
  • Geoserver est une solution open source pour servir des cartes
  • GeoTools sont des bibliothèques Java à faire des conversions, créer des fonctions et faire des transformations qui forment aussi la base pour geoserver
  • PostGIS est une base de données pour stocker des données spatiales dans
+0

Je ne fais pas le travail, mais j'ai besoin de l'aperçu général des exigences. Merci pour votre réponse. Moins intéressé par les outils spécifiques, j'étais intéressé à avoir une compréhension générale des données, des outils et des cadres requis pour accomplir le travail. – user159737

2

en général;

Tout est possible. Je suggère d'écrire d'abord ce que vous voulez construire, qui vous voulez qu'il maintienne, quelle architecture de serveur vous voulez qu'il fonctionne et commencez alors à éliminer les options. D'abord, vous devez sélectionner un backend pour stocker vos données. Pour cela, deux systèmes de base de données ont une extension "spatiale" ou module, ces extensions soutenir les projections, la transformation et l'interrogation spatiale (le plus proche, à l'intérieur, des touches, ...):

commerciale:

  1. Oracle spatiale
  2. spatiale MS SQLserver

Open Source:

  1. poste gis (pour postgres)
  2. spatiale MySQL
  3. MonetDB (travaux en cours)
  4. Les fichiers plats comme de shapefile

Ensuite, vous avez besoin d'une application serveur pour héberger les jeux de données géospatiales (vecteur ou raster): cartes

commercial:

  1. Esri ARCIMS
  2. ESRI serveur arcGIS
  3. PB MapInfo MapXtreme
  4. ...

Open Source:

  1. MapServer
  2. Geoserver
  3. Mapnik

Puis enfin, si vous voulez créer une application web avec des cartes interactives, vous avez besoin Javascript plan du site web:

Commercial :

  1. Google Maps
  2. PB MapInfo MapXtreme
  3. Map24 ...

Open Source:

  1. OpenLayers
  2. Caméléon
  3. MapFish
  4. GeoExt

Vous pouvez également utiliser un cadre de carte Flash web comme:

  1. Flamingo-MC

Tout cela, selon l'architecture choisie nécessite au moins un serveur web avec des coureurs cgi ou servlet. Fondamentalement, tout se résume à votre organisation: Quelle est l'architecture avec laquelle votre organisation travaille actuellement? Comment est l'expertise? Quelle architecture correspond au domaine d'expertise de votre entreprise? Lorsque vous passez à l'étape commerciale, vos licences vont de 500 à 500 000 dollars, selon le fournisseur. Lorsque vous utilisez Open Source, vos licences seront bien sûr nill. Mais vous devez également calculer la courbe d'apprentissage et le temps de configuration nécessaire.