Skip to content

Commit

Permalink
WFS server improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
niconoe committed Mar 25, 2024
1 parent bdefb60 commit 1dabe01
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 34 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Current (unreleased)

- Improvements to the WFS server, following user feedback (https://github.com/riparias/gbif-alert/issues/268)
- Fixed bug with map background (https://github.com/riparias/gbif-alert/issues/276)
- Technical: got rid of webdriver-manager, now using the manager provided by selenium itself
- Technical: updated all backend dependencies
Expand Down
93 changes: 59 additions & 34 deletions dashboard/views/public_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,43 +78,35 @@ def get_value(self, instance):
return instance.species.name


class CustomXsdElementVernacularNameNL(XSDElementForceStringType):
def get_value(self, instance):
return instance.species.vernacular_name_nl


class CustomXsdElementVernacularNameEN(XSDElementForceStringType):
def get_value(self, instance):
return instance.species.vernacular_name_en


class CustomXsdElementVernacularNameFR(XSDElementForceStringType):
def get_value(self, instance):
return instance.species.vernacular_name_fr


class CustomXsdElementDatasetName(XSDElementForceStringType):
def get_value(self, instance):
return instance.source_dataset.name


class CustomXsdElementDataSetGBIFKey(XSDElementForceStringType):
def get_value(self, instance):
return instance.source_dataset.gbif_dataset_key


class ObservationsWFSView(WFSView):
feature_types = [
FeatureType(
Observation.objects.filter(coordinate_uncertainty_in_meters__lt=5),
# fields=[
# "gbif_id",
# "stable_id",
# # field("species-scientific-name", model_attribute="species.name"),
# # field("species_id", model_attribute="species.id"),
# field(
# # "species.vernacular_name_nl",
# "species-vernacular-name-nl",
# model_attribute="observation.species.vernacular_name_nl",
# ),
# # field(
# # "species-vernacular-name-en",
# # model_attribute="species.vernacular_name_en",
# # ),
# # field(
# # "species-vernacular-name-fr",
# # model_attribute="species.vernacular_name_fr",
# # ),
# # field("dataset-name", model_attribute="source_dataset.name"),
# # field(
# # "dataset-gbif-key",
# # model_attribute="source_dataset.gbif_dataset_key",
# # ),
# "location",
# field("observation_date", model_attribute="date"),
# "individual_count",
# "locality",
# "municipality",
# "basis_of_record",
# "recorded_by",
# "coordinate_uncertainty_in_meters",
# "references",
# ],
Observation.objects.filter(),
fields=[
"location",
"gbif_id",
Expand All @@ -129,6 +121,39 @@ class ObservationsWFSView(WFSView):
model_attribute="species",
xsd_class=CustomXsdElementScientificName,
),
field(
"species_vernacular_name_nl",
model_attribute="species",
xsd_class=CustomXsdElementVernacularNameNL,
),
field(
"species_vernacular_name_en",
model_attribute="species",
xsd_class=CustomXsdElementVernacularNameEN,
),
field(
"species_vernacular_name_fr",
model_attribute="species",
xsd_class=CustomXsdElementVernacularNameFR,
),
field(
"dataset_name",
model_attribute="source_dataset",
xsd_class=CustomXsdElementDatasetName,
),
field(
"dataset_gbif_key",
model_attribute="source_dataset",
xsd_class=CustomXsdElementDataSetGBIFKey,
),
field("observation_date", model_attribute="date"),
"individual_count",
"locality",
"municipality",
"basis_of_record",
"recorded_by",
"coordinate_uncertainty_in_meters",
"references",
],
),
]

0 comments on commit 1dabe01

Please sign in to comment.