UPDATE
This commit is contained in:
@@ -144,6 +144,10 @@ class RemoteSensingFarmRequestSerializer(serializers.Serializer):
|
||||
page_size = serializers.IntegerField(required=False, min_value=1, max_value=200, default=100)
|
||||
|
||||
|
||||
class ClusterCropRecommendationRequestSerializer(serializers.Serializer):
|
||||
farm_uuid = serializers.UUIDField(required=True, help_text="شناسه یکتای مزرعه")
|
||||
|
||||
|
||||
class RemoteSensingClusterBlockLiveRequestSerializer(serializers.Serializer):
|
||||
temporal_start = serializers.DateField(required=False)
|
||||
temporal_end = serializers.DateField(required=False)
|
||||
@@ -426,6 +430,54 @@ class RemoteSensingClusterBlockLiveResponseSerializer(serializers.Serializer):
|
||||
metadata = serializers.JSONField()
|
||||
|
||||
|
||||
class ClusterCropRegisteredPlantSerializer(serializers.Serializer):
|
||||
plant_id = serializers.IntegerField()
|
||||
plant_name = serializers.CharField()
|
||||
position = serializers.IntegerField(allow_null=True)
|
||||
stage = serializers.CharField(allow_blank=True)
|
||||
|
||||
|
||||
class ClusterCropCandidateSerializer(serializers.Serializer):
|
||||
plant_id = serializers.IntegerField(allow_null=True)
|
||||
plant_name = serializers.CharField()
|
||||
position = serializers.IntegerField(allow_null=True)
|
||||
stage = serializers.CharField(allow_blank=True)
|
||||
score = serializers.FloatField()
|
||||
predicted_yield = serializers.FloatField(allow_null=True)
|
||||
predicted_yield_tons = serializers.FloatField(allow_null=True)
|
||||
biomass = serializers.FloatField(allow_null=True)
|
||||
max_lai = serializers.FloatField(allow_null=True)
|
||||
simulation_engine = serializers.CharField(allow_null=True)
|
||||
simulation_model_name = serializers.CharField(allow_null=True)
|
||||
simulation_warning = serializers.CharField(allow_null=True, allow_blank=True)
|
||||
supporting_metrics = serializers.JSONField()
|
||||
|
||||
|
||||
class ClusterCropRecommendationClusterSerializer(serializers.Serializer):
|
||||
block_code = serializers.CharField(allow_blank=True)
|
||||
cluster_uuid = serializers.CharField(allow_null=True, allow_blank=True)
|
||||
sub_block_code = serializers.CharField()
|
||||
cluster_label = serializers.IntegerField(allow_null=True)
|
||||
temporal_extent = serializers.JSONField(allow_null=True)
|
||||
cluster_block = RemoteSensingClusterBlockSerializer(allow_null=True)
|
||||
satellite_metrics = serializers.JSONField()
|
||||
sensor_metrics = serializers.JSONField()
|
||||
resolved_metrics = serializers.JSONField()
|
||||
candidate_plants = ClusterCropCandidateSerializer(many=True)
|
||||
suggested_plant = ClusterCropCandidateSerializer(allow_null=True)
|
||||
source_metadata = serializers.JSONField()
|
||||
|
||||
|
||||
class ClusterCropRecommendationResponseSerializer(serializers.Serializer):
|
||||
farm_uuid = serializers.CharField()
|
||||
location_id = serializers.IntegerField()
|
||||
evaluated_plant_count = serializers.IntegerField()
|
||||
cluster_count = serializers.IntegerField()
|
||||
registered_plants = ClusterCropRegisteredPlantSerializer(many=True)
|
||||
clusters = ClusterCropRecommendationClusterSerializer(many=True)
|
||||
source_metadata = serializers.JSONField()
|
||||
|
||||
|
||||
class RemoteSensingSubdivisionOptionListResponseSerializer(serializers.Serializer):
|
||||
result_id = serializers.IntegerField()
|
||||
active_requested_k = serializers.IntegerField(allow_null=True)
|
||||
|
||||
Reference in New Issue
Block a user