toJson method
Convertit cette géométrie en GeoJSON standard (Map<String, dynamic>)
Implementation
Map<String, dynamic> toJson() {
final Map<String, dynamic> json = {'type': type};
switch (type.toLowerCase()) {
case 'point':
if (points != null) {
json['coordinates'] = points!.toJson();
}
break;
case 'linestring':
if (lines != null) {
json['coordinates'] = lines!.toJson();
}
break;
case 'multilinestring':
if (multilines != null) {
json['coordinates'] = multilines!.toJson();
}
break;
case 'polygon':
if (polygons != null && polygons!.isNotEmpty) {
json['coordinates'] = polygons![0].toJson();
}
break;
case 'multipolygon':
if (polygons != null) {
json['coordinates'] = GeomMultiPolygon(multiPolygons: polygons!).toJson();
}
break;
case 'geometrycollection':
final geometries = <Map<String, dynamic>>[];
if (points != null) {
geometries.add({'type': 'Point', 'coordinates': points!.toJson()});
}
if (lines != null) {
geometries.add({'type': 'LineString', 'coordinates': lines!.toJson()});
}
if (multilines != null) {
geometries.add({'type': 'MultiLineString', 'coordinates': multilines!.toJson()});
}
if (polygons != null) {
for (final polygon in polygons!) {
geometries.add({'type': 'Polygon', 'coordinates': polygon.toJson()});
}
}
json['geometries'] = geometries;
break;
default:
_debugDtoPrint('Cannot serialize type: $type');
break;
}
return json;
}