IBPIndexCalc v.1.0
Para ello el programa utiliza la web de IBPIndex (http://www.IBPIndex.com); Imprescindible para todos aquellos que salís en bici y utilizáis/generáis track con GPS.
Este índicxe IBP (Interactive Bicycling Parameters) se obtiene analizando los datos de latitud, longitud y altura en multitud de puntos del recorrido. A partir de estos puntos se calculan las distancias recorridas en los diferentes tramos de subidas y bajadas (1%, 5%, 10% etc..) se computan los % que representan sobre el total, los metros totales ascendidos, descendidos, los ratios medios de subida y de bajada, los Km. totales, y la distribución de los tramos de subida. Si queréis saber más y ampliar información sobre el tema visitad la web de IBPIndex (proceso de cálculo, corrección de errores, formato de puntuación,…).
IBPIndexCalc utiliza los componentes Indy para el acceso a la Web. Además implementa una clase derivada de TThread que permite que el pograma principal no se bloquee mientras espera la respuesta desde la web. Estructura de la Clase TWebThread:
{ : Clase para realizar consultas utilizando thread a la Web. } TWebThread = class(TThread) private IdHTTP: TidHTTP; Stream: TIdMultipartFormDataStream; FTrackFileName: string; FwebBrowser: TWebBrowser; FResponse: string; private FURLNavigate: string; FURLPDF: string; function _RepairLinks(StrPage: string; var URLpage: string; var UrlPDF: string): string; protected public // ejecutar el procedimniento. procedure Execute; override; // componente de navegación. property webBrowser: TWebBrowser read FwebBrowser write FwebBrowser; // Fichero de Track/ruta. property TrackFileName: string read FTrackFileName write FTrackFileName; // : Propiedad para recoger la respuesta desde la Web. property Response: string read FResponse write FResponse; // URL de navegación. property URLNavigate: string read FURLNavigate write FURLNavigate; // URL del PDF de respuesta. property UrlPDF: string read FURLPDF; // : Constructor redefinido. constructor Create(AFileName: string; wb: TWebBrowser); end; |
Una vez que el programa obtiene respuesta de la Web, la analiza para detectar posibles errores y para extraer los links útiles al usuario. En este caso el PDF generado y la página de resultados.
La aplicación y la clase UTWebThread puede se útil, modificando determinados, para realizar un trabajo similar en otras páginas webs.
Es totalmente gratuíta y el código fuente está disponible.