summaryrefslogtreecommitdiff
path: root/navit/tools/gpx2navit_txt/src/setwpt.c
blob: 9af217f0aa678d704d02cf7f7c53997fe318e7af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include "gpx2navit_txt.h"

void setWpt(parsedata * pdata);

/**
 * save point objects in *_wpt or *_pnt file
 */
void setWpt( parsedata * pdata)
{
    double x[1], y[1], z[1];
    x[0] = pdata->attr->lon;
    y[0] = pdata->attr->lat;
    z[0] = pdata->attr->ele;
    if (pdata->prop->is3d) {
	//nothing at the moment		    
    } else {
	//do not know if i will change something here
    }
    // Write attributes to file first line waypoint-info, second line coords
    char poi_type[20]="poi_attraction";
    if (!strcmp(pdata->attr->type,"Geocache|Traditional Cache"))
	strcpy(poi_type,"poi_gc_tradi");
    if (!strcmp(pdata->attr->type,"Geocache|Multi-cache"))
	strcpy(poi_type,"poi_gc_multi");
    if (!strcmp(pdata->attr->type,"Geocache|Unknown Cache"))
	strcpy(poi_type,"poi_gc_mystery");
    if (!strcmp(pdata->attr->type,"Geocache|Event Cache"))
	strcpy(poi_type,"poi_gc_event");
    if (!strcmp(pdata->attr->type,"Geocache")) //for OC
	strcpy(poi_type,"poi_gc_tradi");
    if (!strcmp(pdata->attr->type,"Waypoint|Parking Area")) 
	strcpy(poi_type,"poi_car_parking");
    if (!strcmp(pdata->attr->type,"Waypoint|Question to Answer")) 
	strcpy(poi_type,"poi_gc_question");
    if (!strcmp(pdata->attr->type,"Waypoint|Reference Point")) 
	strcpy(poi_type,"poi_gc_reference");
    if (!strcmp(pdata->attr->type,"Waypoint|Stages of a Multicache")) 
	strcpy(poi_type,"poi_gc_stages");

    //generate the file
    fprintf(pdata->fp,"type=%s label=\"%s\" description=\"%s\" gc_type=\"%s\"\n",
	poi_type,pdata->attr->name,pdata->attr->desc,pdata->attr->type);
    fprintf(pdata->fp,"%3.6f %4.6f\n",x[0],y[0]);

    //writeWptAttribute(hDBF, pdata, iShape);
    if (!strcmp(pdata->current->name, "wpt")) {
	pdata->prop->stats->wptpoints++;
    }
    return;
}