mardi 2 avril 2013

iMapIt Pro 2.0 – Comment le transfert d'un fichier exporté vers un site Web fonctionne

L'une des principales fonctionnalités de la version 2.0 iMapIt Pro est de permettre au fichier à exporter, disponible dès maintenant sur ​​les formats DXF, fichiers KML ou GPX. En plus de pouvoir être extrait par câble, par le port USB et envoyé par e-mail, il peut également être envoyé par Internet à un serveur Internet.
L'objectif principal de cet article est d'expliquer comment la fonctionnalité de l'envoi du fichier par Internet peut être utilisé.
Lorsque vous appuyez sur l'option "Web" sous "Envoyer à:" un champ sera affiché juste en dessous et qui vous permettra de taper l'adresse Internet du site le fichier doit être envoyé.


Lorsque vous appuyez sur le bouton Exporter le fichier sera envoyé à l'adresse informé et un écran s'affiche avec la réponse du serveur.


Notez que pour l'appliquer correctement, le serveur indiqué sur l'adresse internet, doit être prêt à recevoir le fichier. Ensuite, vous devez avoir accès à ce serveur, de sorte que vous pouvez le configurer et recevoir le fichier et l'enregistrer où vous trouvez qu'il est approprié sur le serveur.

Comment puis-je configurer le serveur pour recevoir le fichier?


J'ai développé deux exemples de scripts pour les serveurs internet qui peuvent être utilisés pour recevoir le fichier envoyé par iMapIt Pro.
Le premier exemple est un script PHP. PHP est l'un des langages de programmation pour les serveurs Internet. Ce type de fichier fonctionne sur des serveurs Apache.
Voir l'exemple ci-dessous, le fichier doit être enregistré sous le nom "imapit_uploader.php".



------------------------------------------------------------- Début du fichier PHP (ne pas inclure cette ligne)

<?php

// iMapIt Uploader
// Exemple script php pour télécharger le fichier envoyé par l'application iMapIt

// Dossier dans lequel le fichier sera enregistré
$_UP['pasta'] = 'uploads/';

// Taille maximale du fichier (en octets)
$_UP['tamanho'] = 1024 * 1024 * 2// 2Mb

// Array avec les extensions autorisées
$_UP['extensoes'] = array('dxf''kml''gpx');

// Renommez le fichier? (Si cela est vrai, le fichier sera enregistré sous .jpg et un seul nom)
$_UP['renomeia'] = false;

// Array avec les types d'erreurs de téléchargement de PHP
$_UP['erros'][0] = 'Il n'y avait pas d'erreur';
$_UP['erros'][1] = 'Le fichier upload est supérieur la limite de PHP';
$_UP['erros'][2] = 'Le fichier dépasse la limite de taille spécifiée en HTML';
$_UP['erros'][3] = 'Le téléchargement des données a été fait partiellement';
$_UP['erros'][4] = 'Aucun fichier téléchargé';

// Titre du message de réponse
echo "<br><br><br>--- iMapIt Uploader ---<br>Fichier: " . $_FILES['iMapIt_File']['name'. "<br><br>";

// Vérifie si il y avait une erreur à l'upload. Si oui, affiche l'erreur
if ($_FILES['iMapIt_File']['error'] != 0) {
die("Impossible de télécharger, d'erreur:<br />" . $_UP['erros'][$_FILES['iMapIt_File']['error']]);
exit// Arrête l'exécution du script
}

// Si le script arrive à ce point, il n'y avait pas d'erreur à l'upload et le PHP peut continuer

// Il vérifie l'extension du fichier
$extensao = strtolower(end(explode('.', $_FILES['iMapIt_File']['name'])));
if (array_search($extensao, $_UP['extensoes']) === false) {
    echo "S'il vous plaît, sont autorisés uniquement les fichiers avec les extensions: dxf, KML ou GPX";
}

// Vérifie la taille du fichier
else if ($_UP['tamanho'] < $_FILES['iMapIt_File']['size']) {
echo "Le fichier téléchargé est trop grand, envoyer des fichiers jusqu'à 2MO.";
}

// Le fichier a réussi tous les contrôles, il est temps d'essayer de le déplacer vers un dossier
else {
// Vérifie que le nom du fichier doit être changé
if ($_UP['renomeia'] == true) {
    // Crée un nom basé sur TIMESTAMP UNIX avec l'extension .jpg
    $nome_final = time().'.jpg';
else {
    // Conserve le nom d'origine du fichier
    $nome_final = $_FILES['iMapIt_File']['name'];
}

// Ensuite, vérifiez si vous pouvez déplacer le fichier vers le dossier choisi
if (move_uploaded_file($_FILES['iMapIt_File']['tmp_name'], $_UP['pasta'. $nome_final)) {
    // Téléchargez effectuée avec succès, affiche
    echo "Téléchargez effectuée avec succès!";
    } else {
        // Impossible de télécharger, le dossier est probablement incorrect
        echo "Impossible d'envoyer le fichier, essayez à nouveau";
    }
}
?>
---------------------------------------------------------------- Fin de fichier PHP (ne pas inclure cette ligne)


Vous aurez seulement besoin d'un type de script sur le serveur web, permettez-moi de vous montrer un autre exemple, maintenant en JSP. JSP est un autre type de langage de programmation pour les serveurs Web et fonctionne sur Apache Tomcat serveurs.
Voir l'exemple ci-dessous, le fichier doit être enregistré sous le nom "imapit_uploader.jsp."


------------------------------------------------------------- Début du fichier JSP (ne pas inclure cette ligne)

<%@ page language="java" contentType="text/html;charset=utf-8"%>
<%request.setCharacterEncoding("UTF-8");response.setCharacterEncoding("UTF-8");%>
<%@ page import="java.io.*,java.util.*, javax.servlet.*" %>
<%@ page import="javax.servlet.http.*" %>
<%@ page import="org.apache.commons.fileupload.*" %>
<%@ page import="org.apache.commons.fileupload.disk.*" %>
<%@ page import="org.apache.commons.fileupload.servlet.*" %>
<%@ page import="org.apache.commons.io.output.*" %>
<%
File file;
int MAX_FILE_SIZE = 5 * 1024 * 1024;
int MAX_MEM_SIZE = 1 *1024 * 1024;
ServletContext context = pageContext.getServletContext();
String tempFolder = context.getInitParameter("temp-folder");
String IMEI="", method="", msg="";
boolean isMultipart;
method = request.getMethod();
isMultipart = ServletFileUpload.isMultipartContent(request);

if (isMultipart && method.equalsIgnoreCase("POST")) {
DiskFileItemFactory factory = new DiskFileItemFactory();
// que la taille maximale sera stocké dans la mémoire
factory.setSizeThreshold(MAX_MEM_SIZE);
// Emplacement pour enregistrer des données qui est plus grand que maxMemSize.
factory.setRepository(new File(tempFolder));
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setSizeMax(MAX_FILE_SIZE);
List items = null, fileItems = null;
FileItem item;
String fileName="";
try {
items = upload.parseRequest(request);
Iterator itr = items.iterator();
int idx;
while (itr.hasNext()) {
item = (FileItem) itr.next();
if (item.isFormField()) {
if (item.getFieldName().equalsIgnoreCase("IMEI")) 
IMEI = item.getString() + "";
} else {
if (fileItems==null) fileItems = new ArrayList<FileItem>();
fileItems.add(item);
}
}
//if (IMEI.equals("") || IMEI.equals("null")) {
// msg = "Invalid source";
//}
if (fileItems!=null && !fileItems.isEmpty()) {
msg = "Vous avez téléchargé le fichier suivant: ";
for (int i=0; i<fileItems.size(); i++) {
item = (FileItem) fileItems.get(i);
fileName = item.getName();
idx = fileName.lastIndexOf("\\");
if (idx == -1) idx = fileName.lastIndexOf("/");
if (idx >= 0) {
fileName = fileName.substring(idx);
}
fileName = fileName;
item.write(new File(tempFolder + fileName));
msg += "<br><a href=\"/upload/temp/" + fileName + "\">" + fileName + "</a>";
}
}
} catch (Exception e) {
msg = e.getMessage();
}
} else {
msg += "Téléchargez n'est pas acceptée.<br>";
msg += "S'il vous plaît télécharger le fichier en utilisant "multipart / form-data" et la méthode POST<br>";
}
%>
<!DOCTYPE HTML>
<HTML>
<HEAD>
<TITLE>KML Loader</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</HEAD>
<BODY>
<%=msg%>
</BODY>
</HTML>

---------------------------------------------------------------- Fin de fichier JSP (ne pas inclure cette ligne)


Si quelqu'un a des exemples de scripts plus à partager, ils seront plus que bienvenus.

Eh bien, dans le but de tester si votre script d'upload fonctionne correctement, vous pouvez utiliser le code HTML suivant. Ce code peut être enregistré sous le nom "teste_upload.html".


---------------------------------------------------------------- Début du fichier HTML (ne pas inclure cette ligne)

<!DOCTYPE HTML>
<HTML>
    <HEAD>
            <TITLE>iMapIt Loader Test</TITLE>
            <META http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    </HEAD>
    <BODY>
            <FORM id="frm" name="iMapIt_Form" action="imapit_uploader.php" method="POST" enctype="multipart/form-data">
                Sélectionnez un fichier à transférer<br>
                <INPUT id="iMapIt_File" name="iMapIt_File" type="file" style="width:100%;"/><br>
                <INPUT id="submit" type="submit" value="Submit" />
                </FORM>
    </BODY>
</HTML>

---------------------------------------------------------------- Fin de fichier HTML (ne pas inclure cette ligne)


L'exemple ci-dessus est un fichier HTML comment le iMapIt Pro, à partir de votre iPhone ou iPad, va transférer le fichier exporté. Si le fichier de test ci-dessus fonctionne appelant les scripts PHP "imapit_uploader.php" et transférer le fichier enquiry.c; aussi le Pro iMapIt va fonctionner.

N'hésitez pas à envoyer vos questions et suggestions.

lundi 14 janvier 2013

Dans la version 1.4 de iMapIt PRO de nouvelles fonctionnalités ont été introduits sur l'écran d'exportation de projets.
Voir ci-dessous.

Le choix du format de fichier existaient déjà et là, vous pouvez choisir entre:

  • DXF - est un format lu par la plupart des logiciels CAO
  • KML - Le format de présentation Google Maps
Le choix du type des coordonnées pour être exportées est une nouvelle fonctionnalité. Maintenant, vous pouvez sélectionner les options suivantes:
  • Géographique - Les coordonnées géographiques sont collectées directement auprès de l'iPhone ou de l'iPad GPS, la latitude et la longitude. Coordonnées géographiques sont des coordonnées qui représentent un point du globe et sont représentés en degrés, minutes et secondes. Dans iMapIt, les coordonnées géographiques sont représentées en degrés et fractions décimales de degré;
  • UTM - est un type de projection plane, convertis à partir des coordonnées géographiques. UTM est l'abréviation de Universal Transverse Mercator;
L'option Ellipsoïdal propose différentes manières de calculer la projection UTM du système de référence des coordonnées brésilien.

En option Axe:
  • Latitude en X - Exporte les coordonnées avec la latitude sur l'axe X et la longitude sur l'axe Y;
  • Latitude en Y - Exporte les coordonnées avec la latitude sur l'axe Y et la longitude sur l'axe X;
L'option Envoyer existaient déjà et là, vous pouvez choisir entre:
  • USB - Permet d'extraite le fichier de l'iPhone / iPad via le port USB, obtenue par l'option de partage de fichiers de iTunes dans l'application iMapIt;
  • Email - Permet d'envoyer le fichier par courrier électronique;
L'option Nom du Fichier affiche le nom de fichier par défaut qui est automatiquement généré par l'application et lui permet d'être changé. Le fichier est exporté avec ce nom.

Ce sont les options d'exportation actuels. Toutes les suggestions pour améliorer l'application sont les bienvenus.

jeudi 10 janvier 2013

iMapIt - Caractéristiques et comparaison entre les versions

Caractéristique suivante: iMapIt PRO iMapIt LITE
Disponible à:
   iPhone x x
   iPad x x
Permettent de créer plusieurs projets x x
Utilisez le maximum de précision GPS de l'appareil x x
Collecte des Points x x
Collecte des Lignes x x
Collecte des Polygones x x
Calcule l'extension des lignes x 1
Calcule zone de polygones x 1
Il ya un espace disponible pour décrire le projet x x
Il ya un espace disponible pour décrire chaque mesure x x
Mesures en unités métriques x 1
Mesures en unités impériales x 1
Affiche le précision du GPS tout en collectant des points x x
Affiche les coordonnées en temps réel x x
Caractéristiques d'exportation:
   Les exportations de fichiers au format DXF x
   Les exportations de fichiers au format KML x
   Permet d'extraire des fichiers exporté par le port USB x
   Envoie le fichier exporté par e-mail x
   Les exportations des coordonnées géographiques x
   Les exportations des coordonnées en projection UTM x
   Alterne des coordonnées entre les aixes X et Y dans le fichier exporté x
   Permet de changer le nom du fichier exporté x



1 - Fonction disponible seulement une fois

mardi 6 novembre 2012

iMapIt Pro Version 1.4 Ferme Soudain dans iOS 6.0


Un utilisateur de iMapIt m'a écrit pour se plaindre que la nouvelle version qu'il venait d'installer présentait une erreur, provoquant sa fermeture, quand il a cliqué sur le bouton Exporter.
Il utilise un iPhone 4.
Après avoir étudier conjointement le problème a une solution:

  • S'il vous plaît mettre à jour votre iOS pour 6.0.1;
  • Test iMapIt en utilisant la fonction d'exportation. Si l'écran Exporter apparaît normalement, terminer. Sinon, continuez ci-dessous;
  • Supprimer l'application iMapIt Pro sur votre appareil et de le télécharger et de l'installer à nouveau;
Si vous avez des questions n'hésitez pas à demander.

samedi 14 janvier 2012

Le Premier Guide de l'Utilisateur

Le but de ce guide est de vous expliquer comment utiliser la
fonction de collecte des informations des aires, des chemins
ou des points de application iMapit pour mieux explorer ses
fonctionnalités.

Le but de cet écran est de vous permettre de recueillir et
d'enregistrer les coordonnées de votre position. Ces
coordonnées peuvent être stocké comme une séquence de
points, mais aussi peut être comme une ligne ou un chemin,
ou peuvent également être reliés pour former les limites d'un
terrain ou d'un champ.


Comme chaque bouton fonctionne


Ceci est l'écran de cartographie.



Chaque bouton fonctionne comme suit:

Commute l'affichage de carte entre le mode standard et le mode à partir d'images satellitaires.

Active le mode d'identification de votre position. Quand cette bouton est pressé est affiché pour
indiquer son emplacement.

Ce bouton commute les types des collectes de coordonnées entre: des points, des lignes et
des aires.

Ce bouton affiche un écran de configuration de l'application et de collecte de points.
Dans l'écran qui apparaît vous pouvez choisir entre:
  • Collecter des points, ligues ou aires
  • Activer ou désactiver les sons
  • Changer la transparence du bouton MapIt

Commencer à recueillir des points. Lorsque vous appuyez sur ce bouton il change son
nom pour Arrêter, pour mettre fin à la collecte de points plus tard.
Quand la collecte de points est commencé quelques boutons sont désactivé et le bouton
MapIt est affiché comme ci-dessous.


C'est le bouton MapIt. Chaque fois qu'il est pressé sont recueillis les coordonnées de
voter position global actuel. Cette coordonnée est enregistré selon le type de mesure
qui est choisie et le point correspondant sera présenté sur l'écran.