`GPXMapping` is a subclass of `LayerMapping` that imports GPX files into 3D GeoDjango models (requires Django 1.2 or SVN r11742 and higher).  Here's an example of GeoDjango models for GPX points and tracks, respectively:
    from django.contrib.gis.db import models
    class GPXPoint(models.Model):
        timestamp = models.DateTimeField()
        point = models.PointField(dim=3)
        objects = models.GeoManager()
        def __unicode__(self):
            return unicode(self.timestamp)
    class GPXTrack(models.Model):
        track = models.MultiLineStringField(dim=3)
        objects = models.GeoManager()
Assuming the above models, then `GPXMapping` may be used to load GPX tracks and waypoints (including elevation Z values):
    track_point_mapping = {'timestamp' : 'time',
                           'point' : 'POINT',
                          }
    track_mapping = {'track' : 'MULTILINESTRING'}
    gpx_file = '/path/to/file.gpx'
    lm = GPXMapping(GPXPoint, gpx_file, track_point_mapping, layer='track_points')
    lm.save(verbose=True)
    
    lm = GPXMapping(GPXTrack, gpx_file, track_mapping, layer='tracks')
    lm.save(verbose=True)
                
                    
                    
                    - gis
 
                    
                    - geodjango
 
                    
                    - 3d
 
                    
                    - gpx
 
                    
                    - layermapping