num dotProduct(Position p) => (lng * p.lng) + (lat * p.lat) + (alt != null && p.alt != null ? (alt! * p.alt!) : 0);