diff --git a/metadata_catalogue/datasets/libs/darwincore/mapping.py b/metadata_catalogue/datasets/libs/darwincore/mapping.py
index 9b67354..97d9a56 100644
--- a/metadata_catalogue/datasets/libs/darwincore/mapping.py
+++ b/metadata_catalogue/datasets/libs/darwincore/mapping.py
@@ -41,11 +41,17 @@ def to_content(xml_path, dataset):
for extension in soup.find_all("extension"):
extensions.append(SourceLayer(extension, xml_path, extension=True))
+ geometry_field = None
+ for _wkt in soup.findAll("field", {"term": "http://rs.tdwg.org/dwc/terms/footprintWKT"}):
+ geometry_field = "footprintWKT"
+ break
+
ctx = {
"core": core,
"extensions": extensions,
"source": dataset.fetch_url,
"layer_name": settings.GEOAPI_DWCA_LAYER_NAME,
+ "geometry_field": geometry_field,
}
content.gdal_vrt_definition = render_to_string("vrt/definition.xml", ctx)
content.save()
diff --git a/metadata_catalogue/datasets/models.py b/metadata_catalogue/datasets/models.py
index ac2a8c1..1e87ce4 100644
--- a/metadata_catalogue/datasets/models.py
+++ b/metadata_catalogue/datasets/models.py
@@ -76,7 +76,7 @@ def get_metadata(self):
def get_content(self):
if hasattr(self, "content"):
- return self.metadata
+ return self.content
else:
return Content.objects.create(dataset=self)
diff --git a/metadata_catalogue/templates/vrt/definition.xml b/metadata_catalogue/templates/vrt/definition.xml
index d7cdc0f..ff534ad 100644
--- a/metadata_catalogue/templates/vrt/definition.xml
+++ b/metadata_catalogue/templates/vrt/definition.xml
@@ -13,8 +13,16 @@
]]>
select * from {{ core }}{% for ext in extensions %} join {{ ext }} on {{ ext }}.{{ ext.id }}={{ core }}.{{ core.id }}{% endfor %}
-
+ {% if geometry_field == "footprintWKT" %}
+
+ WGS84
+
+ {% else %}
+
wkbPoint
+ WGS84
+ {% endif %}
+ WGS84