diff --git a/backend/apps/animals/admin.py b/backend/apps/animals/admin.py index fa6066ef..b68dd52f 100644 --- a/backend/apps/animals/admin.py +++ b/backend/apps/animals/admin.py @@ -1,4 +1,5 @@ from django.contrib import admin -from .models import Animals +from .models import * admin.site.register(Animals) +admin.site.register(AnimalSubtype) diff --git a/backend/apps/animals/models.py b/backend/apps/animals/models.py index 3b51f9e5..58a5bd1f 100644 --- a/backend/apps/animals/models.py +++ b/backend/apps/animals/models.py @@ -7,4 +7,20 @@ class Animals(models.Model): class Meta: managed = False - db_table = 'animals' \ No newline at end of file + db_table = 'animals' + +class AnimalSubtype(models.Model): + id = models.IntegerField(primary_key=True) + name = models.CharField(max_length=100) + liquidpergalperanimalperday = models.FloatField() + solidpergalperanimalperday = models.FloatField() + solidperpoundperanimalperday = models.FloatField() + solidliquidseparationpercentage = models.IntegerField() + washwater = models.FloatField() + milkproduction = models.FloatField() + animalid = models.IntegerField() + sortorder = models.IntegerField() + + class Meta: + managed = False + db_table = 'animal_subtype' diff --git a/backend/apps/animals/serializers.py b/backend/apps/animals/serializers.py index 89e7437a..b9563085 100644 --- a/backend/apps/animals/serializers.py +++ b/backend/apps/animals/serializers.py @@ -1,7 +1,12 @@ from rest_framework import serializers -from .models import Animals +from .models import * class AnimalsSerializer(serializers.ModelSerializer): class Meta: model = Animals fields = '__all__' + +class AnimalSubtypeSerializer(serializers.ModelSerializer): + class Meta: + model = AnimalSubtype + fields = '__all__' diff --git a/backend/apps/animals/urls.py b/backend/apps/animals/urls.py new file mode 100644 index 00000000..5c819cd7 --- /dev/null +++ b/backend/apps/animals/urls.py @@ -0,0 +1,9 @@ +from django.urls import path +from rest_framework import routers +from .views import AnimalsViewset + +urlpatterns = [ + path('animals/', AnimalsViewset.as_view({'get': 'animals'})), + path('animal_subtypes/', AnimalsViewset.as_view({'get': 'animalSubtypes'})), + path('animal_subtypes//', AnimalsViewset.as_view({'get': 'animalSubtypes'})), +] \ No newline at end of file diff --git a/backend/apps/api/views.py b/backend/apps/animals/views.py similarity index 51% rename from backend/apps/api/views.py rename to backend/apps/animals/views.py index 8c70fc99..7cd0af08 100644 --- a/backend/apps/api/views.py +++ b/backend/apps/animals/views.py @@ -1,21 +1,23 @@ from rest_framework import status, viewsets from rest_framework.decorators import action from rest_framework.response import Response -from apps.crops.models import CropTypes -from apps.crops.serializers import CropTypesSerializer -from apps.animals.models import * -from apps.animals.serializers import * +from .models import * +from .serializers import * -class APIViewSet(viewsets.ViewSet): +class AnimalsViewset(viewsets.ViewSet): @action(detail=True, methods=['get']) - def cropTypes(self, request, pk=None): - crop_types = CropTypes.objects.all() - serializer = CropTypesSerializer(crop_types, many=True) - return Response(serializer.data, status=status.HTTP_200_OK) - - @action(detail=True, methods=['get']) - def animals(self, request, pk=None): + def animals(self, request): animals = Animals.objects.all() serializer = AnimalsSerializer(animals, many=True) return Response(serializer.data, status=status.HTTP_200_OK) + + @action(detail=True, methods=['get']) + def animalSubtypes(self, request, animalId=None): + animals = None + if animalId == None: + animals = AnimalSubtype.objects.all() + else: + animals = AnimalSubtype.objects.filter(animalid=animalId) + serializer = AnimalSubtypeSerializer(animals, many=True) + return Response(serializer.data, status=status.HTTP_200_OK) diff --git a/backend/apps/api/urls.py b/backend/apps/api/urls.py deleted file mode 100644 index a63ed9fa..00000000 --- a/backend/apps/api/urls.py +++ /dev/null @@ -1,27 +0,0 @@ -""" -URL configuration for the project. - -The `urlpatterns` list routes URLs to views. For more information please see: - https://docs.djangoproject.com/en/5.1/topics/http/urls/ -Examples: -Function views - 1. Add an import: from my_app import views - 2. Add a URL to urlpatterns: path('', views.home, name='home') -Class-based views - 1. Add an import: from other_app.views import Home - 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') -Including another URLconf - 1. Import the include() function: from django.urls import include, path - 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) -""" -from django.urls import path -from rest_framework import routers -from apps.api import views - -api_router = routers.DefaultRouter() -api_router.register(r"", views.APIViewSet, basename="api") - -urlpatterns = [ - path('croptypes/', views.APIViewSet.as_view({'get': 'cropTypes'}), name='cropTypes'), - path('animals/', views.APIViewSet.as_view({'get': 'animals'}), name='animals'), -] \ No newline at end of file diff --git a/backend/apps/crops/urls.py b/backend/apps/crops/urls.py new file mode 100644 index 00000000..aacac796 --- /dev/null +++ b/backend/apps/crops/urls.py @@ -0,0 +1,7 @@ +from django.urls import path +from rest_framework import routers +from .views import CropsViewset + +urlpatterns = [ + path('croptypes/', CropsViewset.as_view({'get': 'cropTypes'})), +] diff --git a/backend/apps/crops/views.py b/backend/apps/crops/views.py new file mode 100644 index 00000000..06e0b45e --- /dev/null +++ b/backend/apps/crops/views.py @@ -0,0 +1,13 @@ +from rest_framework import status, viewsets +from rest_framework.decorators import action +from rest_framework.response import Response +from .models import * +from .serializers import * + +class CropsViewset(viewsets.ViewSet): + + @action(detail=True, methods=['get']) + def cropTypes(self, request): + crop_types = CropTypes.objects.all() + serializer = CropTypesSerializer(crop_types, many=True) + return Response(serializer.data, status=status.HTTP_200_OK) diff --git a/backend/apps/api/__init__.py b/backend/apps/shared/__init__.py similarity index 100% rename from backend/apps/api/__init__.py rename to backend/apps/shared/__init__.py diff --git a/backend/apps/shared/admin.py b/backend/apps/shared/admin.py new file mode 100644 index 00000000..e69de29b diff --git a/backend/apps/shared/models.py b/backend/apps/shared/models.py new file mode 100644 index 00000000..899a3a75 --- /dev/null +++ b/backend/apps/shared/models.py @@ -0,0 +1,24 @@ +from django.db import models + +class Regions(models.Model): + id = models.IntegerField(primary_key=True) + name = models.CharField(max_length=100) + soiltestphosphorousregioncd = models.IntegerField() + soiltestpotassiumregioncd = models.IntegerField() + locationid = models.IntegerField() + sortorder = models.IntegerField() + + class Meta: + managed = False + db_table = 'regions' + +class Subregion(models.Model): + id = models.IntegerField(primary_key=True) + name = models.CharField(max_length=100) + annualprecipitation = models.IntegerField() + annualprecipitationocttomar = models.IntegerField() + regionid = models.IntegerField() + + class Meta: + managed = False + db_table = 'subregion' diff --git a/backend/apps/shared/serializers.py b/backend/apps/shared/serializers.py new file mode 100644 index 00000000..56e76285 --- /dev/null +++ b/backend/apps/shared/serializers.py @@ -0,0 +1,12 @@ +from rest_framework import serializers +from .models import * + +class RegionsSerializer(serializers.ModelSerializer): + class Meta: + model = Regions + fields = '__all__' + +class SubregionSerializer(serializers.ModelSerializer): + class Meta: + model = Subregion + fields = '__all__' diff --git a/backend/apps/shared/urls.py b/backend/apps/shared/urls.py new file mode 100644 index 00000000..cfbc2629 --- /dev/null +++ b/backend/apps/shared/urls.py @@ -0,0 +1,9 @@ +from django.urls import path +from rest_framework import routers +from .views import SharedViewset + +urlpatterns = [ + path('regions/', SharedViewset.as_view({'get': 'regions'})), + path('subregions/', SharedViewset.as_view({'get': 'subregions'})), + path('subregions//', SharedViewset.as_view({'get': 'subregions'})), +] diff --git a/backend/apps/shared/views.py b/backend/apps/shared/views.py new file mode 100644 index 00000000..fe8d2dd9 --- /dev/null +++ b/backend/apps/shared/views.py @@ -0,0 +1,23 @@ +from rest_framework import status, viewsets +from rest_framework.decorators import action +from rest_framework.response import Response +from .models import * +from .serializers import * + +class SharedViewset(viewsets.ViewSet): + + @action(detail=True, methods=['get']) + def regions(self, request): + regions = Regions.objects.all() + serializer = RegionsSerializer(regions, many=True) + return Response(serializer.data, status=status.HTTP_200_OK) + + @action(detail=True, methods=['get']) + def subregions(self, request, regionId=None): + subregions = None + if regionId == None: + subregions = Subregion.objects.all() + else: + subregions = Subregion.objects.filter(regionid=regionId) + serializer = SubregionSerializer(subregions, many=True) + return Response(serializer.data, status=status.HTTP_200_OK) diff --git a/backend/config/settings.py b/backend/config/settings.py index 42071452..cdbdbf56 100644 --- a/backend/config/settings.py +++ b/backend/config/settings.py @@ -58,9 +58,9 @@ 'rest_framework', # Apps for this project - 'apps.api', 'apps.crops', 'apps.animals', + 'apps.shared', ] MIDDLEWARE = [ diff --git a/backend/config/urls.py b/backend/config/urls.py index 7adaa37d..8ead6aa6 100644 --- a/backend/config/urls.py +++ b/backend/config/urls.py @@ -25,6 +25,8 @@ path('admin/', admin.site.urls), # TODO: make a better accounts/login page path('accounts/', include('allauth.urls')), - path('healthcheck/', health_check, name='health_check'), - path('api/', include('apps.api.urls')), + path('healthcheck/', health_check), + path('api/', include('apps.animals.urls')), + path('api/', include('apps.crops.urls')), + path('api/', include('apps.shared.urls')), ] diff --git a/database/db/seed_tables/_AnimalSubType/_AnimalSubType__20241212.csv b/database/db/seed_tables/_AnimalSubType/_AnimalSubType__20241212.csv new file mode 100644 index 00000000..dfb6af55 --- /dev/null +++ b/database/db/seed_tables/_AnimalSubType/_AnimalSubType__20241212.csv @@ -0,0 +1,440 @@ +Id,Name,LiquidPerGalPerAnimalPerDay,SolidPerGalPerAnimalPerDay,SolidPerPoundPerAnimalPerDay,SolidLiquidSeparationPercentage,WashWater,MilkProduction,AnimalId,SortOrder,StaticDataVersionId +1,"Cow, including calf to weaning",10.568,8.983,60.046,0,0,0,1,0,1 +2,Yearlings,5.284,4.491,32.425,0,0,0,1,0,1 +3,Heavy Feeders,8.19,6.077,43.869,0,0,0,1,0,1 +4,Calves (0 to 3 months old),1.849,2.906,15.541,10,0,0,2,6,1 +5,Calves (3 to 6 months old),3.699,5.812,31.082,10,0,0,2,5,1 +6,Heifers (6 to 15 months old),7.398,11.625,71.49,10,0,0,2,4,1 +7,Heifers (15 to 26 months old),12.946,20.079,123.482,10,0,0,2,3,1 +8,Dry Cow,18.494,28.534,205.992,10,0,0,2,2,1 +10,Ducks,0,0.04,0.141,0,0,0,3,0,1 +11,Goats,0,0.687,4.592,0,0,0,4,0,1 +12,Horse,0,14.954,78.002,0,0,0,5,0,1 +13,Pullets - Cage Housing,0,0.01,0.072,0,0,0,6,0,1 +14,Pullets - Floor Housing,0,0.016,0.054,0,0,0,6,0,1 +15,Layer,0,0.034,0.143,0,0,0,6,0,1 +16,Broiler Breeder Layer- Cage Housing,0,0.037,0.147,0,0,0,6,0,1 +17,Broiler Breeder Layer- Floor Housing,0,0.048,0.188,0,0,0,6,0,1 +18,Broiler Breeder Pullets,0,0.02,0.071,0,0,0,6,0,1 +19,Broiler Chicken,0,0.025,0.098,0,0,0,6,0,1 +20,Roaster Chicken,0,0.024,0.092,0,0,0,6,0,1 +21,Turkey Broiler,0,0.077,0.25,0,0,0,6,0,1 +22,Turkey Heavy Hen,0,0.108,0.354,0,0,0,6,0,1 +23,Turkey Heavy Tom,0,0.124,0.406,0,0,0,6,0,1 +24,Doe and Litter,0,0.188,1.003,0,0,0,7,0,1 +25, Ewe or Ram,1.797,1.11,6.676,0,0,0,8,0,1 +26,"Dry Sow, Boar, or Gilts",4.174,3.593,19.215,0,0,0,9,0,1 +27,Nursing Sow and Litter,6.209,0,0,0,0,0,9,0,1 +28,Nursery,0.661,0,0,0,0,0,9,0,1 +29,Grower,1.664,0,0,0,0,0,9,0,1 +30,Finisher,3.17,0,0,0,0,0,9,0,1 +31,Grower Finisher,2.668,0,0,0,0,0,9,0,1 +32,Veal ,0,1.48,8.901,0,0,0,10,0,1 +26,"Dry Sow, Boar, or Gilts",4.174,3.593,19.215,0,0,0,9,0,2 +12,Horse,0,14.954,78.002,0,0,0,5,0,2 +2,Yearlings,5.284,4.491,32.425,0,0,0,1,0,2 +1,"Cow, including calf to weaning",10.568,8.983,60.046,0,0,0,1,0,2 +10,Ducks,0,0.04,0.141,0,0,0,3,0,2 +11,Goats,0,0.687,4.592,0,0,0,4,0,2 +9,Milking Cow,19.815,30.647,221.251,10,7.5,72.3,2,1,2 +8,Dry Cow,18.494,28.534,205.992,10,0,0,2,2,2 +7,Heifers (15 to 26 months old),12.946,20.079,123.482,10,0,0,2,3,2 +6,Heifers (6 to 15 months old),7.398,11.625,71.49,10,0,0,2,4,2 +5,Calves (3 to 6 months old),3.699,5.812,31.082,10,0,0,2,5,2 +4,Calves (0 to 3 months old),1.849,2.906,15.541,10,0,0,2,6,2 +24,Doe and Litter,0,0.188,1.003,0,0,0,7,0,2 +32,Veal ,0,1.48,8.901,0,0,0,10,0,2 +25, Ewe or Ram,1.797,1.11,6.676,0,0,0,8,0,2 +23,Turkey Heavy Tom,0,0.124,0.406,0,0,0,6,0,2 +3,Heavy Feeders,8.19,6.077,43.869,0,0,0,1,0,2 +21,Turkey Broiler,0,0.077,0.25,0,0,0,6,0,2 +27,Nursing Sow and Litter,6.209,0,0,0,0,0,9,0,2 +28,Nursery,0.661,0,0,0,0,0,9,0,2 +29,Grower,1.664,0,0,0,0,0,9,0,2 +30,Finisher,3.17,0,0,0,0,0,9,0,2 +31,Grower Finisher,2.668,0,0,0,0,0,9,0,2 +13,Pullets - Cage Housing,0,0.01,0.072,0,0,0,6,0,2 +22,Turkey Heavy Hen,0,0.108,0.354,0,0,0,6,0,2 +15,Layer,0,0.034,0.143,0,0,0,6,0,2 +16,Broiler Breeder Layer- Cage Housing,0,0.037,0.147,0,0,0,6,0,2 +17,Broiler Breeder Layer- Floor Housing,0,0.048,0.188,0,0,0,6,0,2 +18,Broiler Breeder Pullets,0,0.02,0.071,0,0,0,6,0,2 +20,Roaster Chicken,0,0.024,0.092,0,0,0,6,0,2 +14,Pullets - Floor Housing,0,0.016,0.054,0,0,0,6,0,2 +19,Broiler Chicken (6.5 cycles),0,0.0172,0.0663,0,0,0,6,0,2 +12,Horse,0,14.954,78.002,0,0,0,5,0,3 +22,Turkey Heavy Hen,0,0.108,0.354,0,0,0,6,0,3 +15,Layer,0,0.034,0.143,0,0,0,6,0,3 +16,Broiler Breeder Layer- Cage Housing,0,0.037,0.147,0,0,0,6,0,3 +17,Broiler Breeder Layer- Floor Housing,0,0.048,0.188,0,0,0,6,0,3 +18,Broiler Breeder Pullets,0,0.02,0.071,0,0,0,6,0,3 +20,Roaster Chicken,0,0.024,0.092,0,0,0,6,0,3 +13,Pullets - Cage Housing,0,0.01,0.072,0,0,0,6,0,3 +14,Pullets - Floor Housing,0,0.016,0.054,0,0,0,6,0,3 +26,"Dry Sow, Boar, or Gilts",4.174,3.593,19.215,0,0,0,9,0,3 +27,Nursing Sow and Litter,6.209,0,0,0,0,0,9,0,3 +28,Nursery,0.661,0,0,0,0,0,9,0,3 +29,Grower,1.664,0,0,0,0,0,9,0,3 +30,Finisher,3.17,0,0,0,0,0,9,0,3 +24,Doe and Litter,0,0.188,1.003,0,0,0,7,0,3 +19,Broiler Chicken (6.5 cycles),0,0.0172,0.0663,0,0,0,6,0,3 +21,Turkey Broiler,0,0.077,0.25,0,0,0,6,0,3 +31,Grower Finisher,2.668,0,0,0,0,0,9,0,3 +25, Ewe or Ram,1.797,1.11,6.676,0,0,0,8,0,3 +2,Yearlings,5.284,4.491,32.425,0,0,0,1,0,3 +1,"Cow, including calf to weaning",10.568,8.983,60.046,0,0,0,1,0,3 +3,Heavy Feeders,8.19,6.077,43.869,0,0,0,1,0,3 +10,Ducks,0,0.04,0.141,0,0,0,3,0,3 +23,Turkey Heavy Tom,0,0.124,0.406,0,0,0,6,0,3 +8,Dry Cow,18.494,28.534,205.992,10,0,0,2,2,3 +7,Heifers (15 to 26 months old),12.946,20.079,123.482,10,0,0,2,3,3 +9,Milking Cow,19.815,30.647,221.251,10,7.5,72.3,2,1,3 +5,Calves (3 to 6 months old),3.699,5.812,31.082,10,0,0,2,5,3 +4,Calves (0 to 3 months old),1.849,2.906,15.541,10,0,0,2,6,3 +11,Goats,0,0.687,4.592,0,0,0,4,0,3 +32,Veal ,0,1.48,8.901,0,0,0,10,0,3 +6,Heifers (6 to 15 months old),7.398,11.625,71.49,10,0,0,2,4,3 +24,Doe and Litter,0,0.188,1.003,0,0,0,7,0,4 +11,Goats,0,0.687,4.592,0,0,0,4,0,4 +10,Ducks,0,0.04,0.141,0,0,0,3,0,4 +6,Heifers (6 to 15 months old),7.398,11.625,71.49,10,0,0,2,4,4 +4,Calves (0 to 3 months old),1.849,2.906,15.541,10,0,0,2,6,4 +5,Calves (3 to 6 months old),3.699,5.812,31.082,10,0,0,2,5,4 +9,Milking Cow,19.815,30.647,221.251,10,7.5,72.3,2,1,4 +7,Heifers (15 to 26 months old),12.946,20.079,123.482,10,0,0,2,3,4 +8,Dry Cow,18.494,28.534,205.992,10,0,0,2,2,4 +25, Ewe or Ram,1.797,1.11,6.676,0,0,0,8,0,4 +32,Veal ,0,1.48,8.901,0,0,0,10,0,4 +23,Turkey Heavy Tom,0,0.124,0.406,0,0,0,6,0,4 +21,Turkey Broiler,0,0.077,0.25,0,0,0,6,0,4 +12,Horse,0,14.954,78.002,0,0,0,5,0,4 +14,Pullets - Floor Housing,0,0.016,0.054,0,0,0,6,0,4 +26,"Dry Sow, Boar, or Gilts",4.174,3.593,19.215,0,0,0,9,0,4 +27,Nursing Sow and Litter,6.209,0,0,0,0,0,9,0,4 +28,Nursery,0.661,0,0,0,0,0,9,0,4 +29,Grower,1.664,0,0,0,0,0,9,0,4 +30,Finisher,3.17,0,0,0,0,0,9,0,4 +31,Grower Finisher,2.668,0,0,0,0,0,9,0,4 +19,Broiler Chicken (6.5 cycles),0,0.0172,0.0663,0,0,0,6,0,4 +15,Layer,0,0.034,0.143,0,0,0,6,0,4 +16,Broiler Breeder Layer- Cage Housing,0,0.037,0.147,0,0,0,6,0,4 +17,Broiler Breeder Layer- Floor Housing,0,0.048,0.188,0,0,0,6,0,4 +18,Broiler Breeder Pullets,0,0.02,0.071,0,0,0,6,0,4 +20,Roaster Chicken,0,0.024,0.092,0,0,0,6,0,4 +13,Pullets - Cage Housing,0,0.01,0.072,0,0,0,6,0,4 +22,Turkey Heavy Hen,0,0.108,0.354,0,0,0,6,0,4 +3,"Backgrounding to Feedlot (400-850 lb), 225 days on feed",0,2.44,17.64,0,0,0,1,0,4 +1,"Cows (1300 lb), including Calves (winter feeding period), 210 days on feed",0,5.17,34.53,0,0,0,1,0,4 +2,"Backgrounding to Grass (400-600 lb), 200 days on feed",0,1.84,13.31,0,0,0,1,0,4 +33,"Finishing: Yearling, 165 days on feed",0,3.38,22.6,0,0,0,1,0,4 +34,"Finishing: Feeders, 240 days on feed",0,3.74,26.98,0,0,0,1,0,4 +35,"Finishing: Short Keep, 150 days on feed",0,3.07,22.19,0,0,0,1,0,4 +11,Goats,0,0.687,4.592,0,0,0,4,0,5 +14,Pullets - Floor Housing,0,0.016,0.054,0,0,0,6,0,5 +19,Broiler Chicken (6.5 cycles),0,0.0172,0.0663,0,0,0,6,0,5 +15,Layer,0,0.034,0.143,0,0,0,6,0,5 +16,Broiler Breeder Layer- Cage Housing,0,0.037,0.147,0,0,0,6,0,5 +17,Broiler Breeder Layer- Floor Housing,0,0.048,0.188,0,0,0,6,0,5 +18,Broiler Breeder Pullets,0,0.02,0.071,0,0,0,6,0,5 +20,Roaster Chicken,0,0.024,0.092,0,0,0,6,0,5 +21,Turkey Broiler,0,0.077,0.25,0,0,0,6,0,5 +13,Pullets - Cage Housing,0,0.01,0.072,0,0,0,6,0,5 +26,"Dry Sow, Boar, or Gilts",4.174,3.593,19.215,0,0,0,9,0,5 +27,Nursing Sow and Litter,6.209,0,0,0,0,0,9,0,5 +28,Nursery,0.661,0,0,0,0,0,9,0,5 +29,Grower,1.664,0,0,0,0,0,9,0,5 +31,Grower Finisher,2.668,0,0,0,0,0,9,0,5 +24,Doe and Litter,0,0.188,1.003,0,0,0,7,0,5 +25, Ewe or Ram,1.797,1.11,6.676,0,0,0,8,0,5 +22,Turkey Heavy Hen,0,0.108,0.354,0,0,0,6,0,5 +23,Turkey Heavy Tom,0,0.124,0.406,0,0,0,6,0,5 +30,Finisher,3.17,0,0,0,0,0,9,0,5 +10,Ducks,0,0.04,0.141,0,0,0,3,0,5 +32,Veal ,0,1.48,8.901,0,0,0,10,0,5 +12,Horse,0,14.954,78.002,0,0,0,5,0,5 +1,"Cows (1300 lb), including Calves (winter feeding period), 210 days on feed",0,5.17,34.53,0,0,0,1,0,5 +2,"Backgrounding to Grass (400-600 lb), 200 days on feed",0,1.84,13.31,0,0,0,1,0,5 +33,"Finishing: Yearling, 165 days on feed",0,3.38,22.6,0,0,0,1,0,5 +34,"Finishing: Feeders, 240 days on feed",0,3.74,26.98,0,0,0,1,0,5 +35,"Finishing: Short Keep, 150 days on feed",0,3.07,22.19,0,0,0,1,0,5 +6,Heifers (6 to 15 months old),7.398,11.625,71.49,10,0,0,2,4,5 +3,"Backgrounding to Feedlot (400-850 lb), 225 days on feed",0,2.44,17.64,0,0,0,1,0,5 +5,Calves (3 to 6 months old),3.699,5.812,31.082,10,0,0,2,5,5 +7,Heifers (15 to 26 months old),12.946,20.079,123.482,10,0,0,2,3,5 +4,Calves (0 to 3 months old),1.849,2.906,15.541,10,0,0,2,6,5 +9,Milking Cow,19.815,30.647,221.251,10,5,72.3,2,1,5 +9,Milking Cow,19.815,30.647,221.251,10,7.5,72.3,2,1,1 +8,Dry Cow,18.494,28.534,205.992,10,0,0,2,2,5 +25, Ewe or Ram,1.797,1.11,6.676,0,0,0,8,0,6 +6,Heifers (6 to 15 months old),7.398,11.625,71.49,10,0,0,2,4,6 +5,Calves (3 to 6 months old),3.699,5.812,31.082,10,0,0,2,5,6 +7,Heifers (15 to 26 months old),12.946,20.079,123.482,10,0,0,2,3,6 +4,Calves (0 to 3 months old),1.849,2.906,15.541,10,0,0,2,6,6 +9,Milking Cow,19.815,30.647,221.251,10,5,72.3,2,1,6 +8,Dry Cow,18.494,28.534,205.992,10,0,0,2,2,6 +23,Turkey Heavy Tom,0,0.124,0.406,0,0,0,6,0,6 +29,Grower,1.664,0,0,0,0,0,9,0,8 +1,"Cows (1300 lb), including Calves (winter feeding period), 210 days on feed",0,5.17,34.53,0,0,0,1,0,6 +33,"Finishing: Yearling, 165 days on feed",0,3.38,22.6,0,0,0,1,0,6 +34,"Finishing: Feeders, 240 days on feed",0,3.74,26.98,0,0,0,1,0,6 +3,"Backgrounding to Feedlot (400-850 lb), 225 days on feed",0,2.44,17.64,0,0,0,1,0,6 +12,Horse,0,14.954,78.002,0,0,0,5,0,6 +11,Goats,0,0.687,4.592,0,0,0,4,0,6 +10,Ducks,0,0.04,0.141,0,0,0,3,0,6 +2,"Backgrounding to Grass (400-600 lb), 200 days on feed",0,1.84,13.31,0,0,0,1,0,6 +22,Turkey Heavy Hen,0,0.108,0.354,0,0,0,6,0,6 +35,"Finishing: Short Keep, 150 days on feed",0,3.07,22.19,0,0,0,1,0,6 +21,Turkey Broiler,0,0.077,0.25,0,0,0,6,0,6 +13,Pullets - Cage Housing,0,0.01,0.072,0,0,0,6,0,6 +24,Doe and Litter,0,0.188,1.003,0,0,0,7,0,6 +26,"Dry Sow, Boar, or Gilts",4.174,3.593,19.215,0,0,0,9,0,6 +27,Nursing Sow and Litter,6.209,0,0,0,0,0,9,0,6 +29,Grower,1.664,0,0,0,0,0,9,0,6 +31,Grower Finisher,2.668,0,0,0,0,0,9,0,6 +30,Finisher,3.17,0,0,0,0,0,9,0,6 +32,Veal ,0,1.48,8.901,0,0,0,10,0,6 +28,Nursery,0.661,0,0,0,0,0,9,0,6 +14,Pullets - Floor Housing,0,0.016,0.054,0,0,0,6,0,6 +19,Broiler Chicken (6.5 cycles),0,0.0172,0.0663,0,0,0,6,0,6 +15,Layer,0,0.034,0.143,0,0,0,6,0,6 +20,Roaster Chicken,0,0.024,0.092,0,0,0,6,0,6 +16,Broiler Breeder Layer- Cage Housing,0,0.037,0.147,0,0,0,6,0,6 +17,Broiler Breeder Layer- Floor Housing,0,0.048,0.188,0,0,0,6,0,6 +18,Broiler Breeder Pullets,0,0.02,0.071,0,0,0,6,0,6 +11,Goats,0,0.687,4.592,0,0,0,4,0,7 +19,Broiler Chicken (6.5 cycles),0.259,0.0172,0.0663,0,0,0,6,0,7 +15,Layer,0.24,0.034,0.143,0,0,0,6,0,7 +16,Broiler Breeder Layer- Cage Housing,0.252,0.037,0.147,0,0,0,6,0,7 +17,Broiler Breeder Layer- Floor Housing,0.252,0.048,0.188,0,0,0,6,0,7 +18,Broiler Breeder Pullets,0.288,0.02,0.071,0,0,0,6,0,7 +20,Roaster Chicken,0.259,0.024,0.092,0,0,0,6,0,7 +13,Pullets - Cage Housing,0.144,0.01,0.072,0,0,0,6,0,7 +22,Turkey Heavy Hen,0.306,0.108,0.354,0,0,0,6,0,7 +26,"Dry Sow, Boar, or Gilts",4.174,3.593,19.215,0,0,0,9,0,7 +27,Nursing Sow and Litter,6.209,0,0,0,0,0,9,0,7 +28,Nursery,0.661,0,0,0,0,0,9,0,7 +29,Grower,1.664,0,0,0,0,0,9,0,7 +30,Finisher,3.17,0,0,0,0,0,9,0,7 +24,Doe and Litter,0,0.188,1.003,0,0,0,7,0,7 +25, Ewe or Ram,0,1.11,6.676,0,0,0,8,0,7 +14,Pullets - Floor Housing,0.288,0.016,0.054,0,0,0,6,0,7 +21,Turkey Broiler,0.306,0.077,0.25,0,0,0,6,0,7 +31,Grower Finisher,2.668,0,0,0,0,0,9,0,7 +10,Ducks,0,0.04,0.141,0,0,0,6,0,7 +23,Turkey Heavy Tom,0.306,0.124,0.406,0,0,0,6,0,7 +12,Horse,0,14.954,78.002,0,0,0,5,0,7 +1,"Cows (1300 lb), including Calves (winter feeding period), 210 days on feed",0,5.17,34.53,0,0,0,1,0,7 +2,"Backgrounding to Grass (400-600 lb), 200 days on feed",0,1.84,13.31,0,0,0,1,0,7 +33,"Finishing: Yearling, 165 days on feed",0,3.38,22.6,0,0,0,1,0,7 +34,"Finishing: Feeders, 240 days on feed",0,3.74,26.98,0,0,0,1,0,7 +35,"Finishing: Short Keep, 150 days on feed",0,3.07,22.19,0,0,0,1,0,7 +6,Heifers (6 to 15 months old),7.398,11.625,71.49,10,0,0,2,4,7 +3,"Backgrounding to Feedlot (400-850 lb), 225 days on feed",0,2.44,17.64,0,0,0,1,0,7 +5,Calves (3 to 6 months old),3.699,5.812,31.082,10,0,0,2,5,7 +9,Milking Cow,19.815,30.647,221.251,10,5,72.3,2,1,7 +7,Heifers (15 to 26 months old),12.946,20.079,123.482,10,0,0,2,3,7 +8,Dry Cow,18.494,28.534,205.992,10,0,0,2,2,7 +4,Calves (0 to 3 months old),1.849,2.906,15.541,10,0,0,2,6,7 +25, Ewe or Ram,0,1.11,6.676,0,0,0,8,0,8 +23,Turkey Heavy Tom,0.306,0.124,0.406,0,0,0,6,0,8 +11,Goats,0,0.687,4.592,0,0,0,4,0,8 +10,Ducks,0,0.04,0.141,0,0,0,6,0,8 +12,Horse,0,14.954,78.002,0,0,0,5,0,8 +6,Heifers (6 to 15 months old),7.398,11.625,71.49,10,0,0,2,4,8 +5,Calves (3 to 6 months old),3.699,5.812,31.082,10,0,0,2,5,8 +9,Milking Cow,19.815,30.647,221.251,10,5,72.3,2,1,8 +7,Heifers (15 to 26 months old),12.946,20.079,123.482,10,0,0,2,3,8 +8,Dry Cow,18.494,28.534,205.992,10,0,0,2,2,8 +4,Calves (0 to 3 months old),1.849,2.906,15.541,10,0,0,2,6,8 +21,Turkey Broiler,0.306,0.077,0.25,0,0,0,6,0,8 +22,Turkey Heavy Hen,0.306,0.108,0.354,0,0,0,6,0,8 +24,Doe and Litter,0,0.188,1.003,0,0,0,7,0,8 +26,"Dry Sow, Boar, or Gilts",4.174,3.593,19.215,0,0,0,9,0,8 +27,Nursing Sow and Litter,6.209,0,0,0,0,0,9,0,8 +28,Nursery,0.661,0,0,0,0,0,9,0,8 +3,Backgrounding to Feedlot (400-850 lb),0,3.985,28.616,0,0,0,1,0,8 +33,Finishing: Yearlings (850-1400 lb),0,7.477,50,0,0,0,1,0,8 +35,Finishing: Short Keep (900-300 lb),0,7.47,54,0,0,0,1,0,8 +34,Finishing: Feeders (550-1250 lb),0,5.688,41.032,0,0,0,1,0,8 +2,Backgrounding to Grass (400-600 lb),0,3.358,24.29,0,0,0,1,0,8 +30,Finisher,3.17,0,0,0,0,0,9,0,8 +14,Pullets - Floor Housing,0.288,0.016,0.054,0,0,0,6,0,8 +31,Grower Finisher,2.668,0,0,0,0,0,9,0,8 +15,Layer,0.24,0.034,0.143,0,0,0,6,0,8 +16,Broiler Breeder Layer- Cage Housing,0.252,0.037,0.147,0,0,0,6,0,8 +17,Broiler Breeder Layer- Floor Housing,0.252,0.048,0.188,0,0,0,6,0,8 +18,Broiler Breeder Pullets,0.288,0.02,0.071,0,0,0,6,0,8 +20,Roaster Chicken,0.259,0.024,0.092,0,0,0,6,0,8 +13,Pullets - Cage Housing,0.144,0.01,0.072,0,0,0,6,0,8 +19,Broiler Chicken (6.5 cycles),0.259,0.0172,0.0663,0,0,0,6,0,8 +1,"Cows (1300 lb), including Calves",0,8.983,60.046,0,0,0,1,0,8 +6,Heifers (6 to 15 months old),7.398,11.625,71.49,10,0,0,2,4,9 +28,Nursery,0.661,0,0,0,0,0,9,0,9 +30,Finisher,3.17,0,0,0,0,0,9,0,9 +31,Grower Finisher,2.668,0,0,0,0,0,9,0,9 +24,Doe and Litter,0,0.188,1.003,0,0,0,7,0,9 +23,Turkey Heavy Tom,0.306,0.124,0.406,0,0,0,6,0,9 +10,Ducks,0,0.04,0.141,0,0,0,6,0,9 +21,Turkey Broiler,0.306,0.077,0.25,0,0,0,6,0,9 +22,Turkey Heavy Hen,0.306,0.108,0.354,0,0,0,6,0,9 +14,Pullets - Floor Housing,0.288,0.016,0.054,0,0,0,6,0,9 +15,Layer,0.24,0.034,0.143,0,0,0,6,0,9 +16,Broiler Breeder Layer- Cage Housing,0.252,0.037,0.147,0,0,0,6,0,9 +17,Broiler Breeder Layer- Floor Housing,0.252,0.048,0.188,0,0,0,6,0,9 +18,Broiler Breeder Pullets,0.288,0.02,0.071,0,0,0,6,0,9 +13,Pullets - Cage Housing,0.144,0.01,0.072,0,0,0,6,0,9 +19,Broiler Chicken (6.5 cycles),0.259,0.0172,0.0663,0,0,0,6,0,9 +27,Nursing Sow and Litter,6.209,0,0,0,0,0,9,0,9 +26,"Dry Sow, Boar, or Gilts",4.174,3.593,19.215,0,0,0,9,0,9 +20,Roaster Chicken,0.259,0.024,0.092,0,0,0,6,0,9 +25, Ewe or Ram,0,1.11,6.676,0,0,0,8,0,9 +29,Grower,1.664,0,0,0,0,0,9,0,9 +5,Calves (3 to 6 months old),3.699,5.812,31.082,10,0,0,2,5,9 +7,Heifers (15 to 26 months old),12.946,20.079,123.482,10,0,0,2,3,9 +8,Dry Cow,18.494,28.534,205.992,10,0,0,2,2,9 +4,Calves (0 to 3 months old),1.849,2.906,15.541,10,0,0,2,6,9 +12,Horse,0,14.954,78.002,0,0,0,5,0,9 +9,Milking Cow,19.815,30.647,221.251,10,5,72.3,2,1,9 +33,Finishing: Yearlings (850-1400 lb),0,7.477,50,0,0,0,1,0,9 +35,Finishing: Short Keep (900-300 lb),0,7.47,54,0,0,0,1,0,9 +34,Finishing: Feeders (550-1250 lb),0,5.688,41.032,0,0,0,1,0,9 +2,Backgrounding to Grass (400-600 lb),0,3.358,24.29,0,0,0,1,0,9 +1,"Cows (1300 lb), including Calves",0,8.983,60.046,0,0,0,1,0,9 +3,Backgrounding to Feedlot (400-850 lb),0,3.985,28.616,0,0,0,1,0,9 +11,Goats,0,0.687,4.592,0,0,0,4,0,9 +23,Turkey Heavy Tom,0.306,0.124,0.406,0,0,0,6,0,10 +25, Ewe or Ram,0,1.11,6.676,0,0,0,8,0,10 +6,Heifers (6 to 15 months old),7.398,11.625,71.49,10,0,0,2,4,10 +5,Calves (3 to 6 months old),3.699,5.812,31.082,10,0,0,2,5,10 +7,Heifers (15 to 26 months old),12.946,20.079,123.482,10,0,0,2,3,10 +8,Dry Cow,18.494,28.534,205.992,10,0,0,2,2,10 +4,Calves (0 to 3 months old),1.849,2.906,15.541,10,0,0,2,6,10 +29,Grower,1.664,0,0,0,0,0,9,0,10 +9,Milking Cow,19.815,30.647,221.251,10,5,72.3,2,1,10 +35,Finishing: Short Keep (900-300 lb),0,7.47,54,0,0,0,1,0,10 +34,Finishing: Feeders (550-1250 lb),0,5.688,41.032,0,0,0,1,0,10 +2,Backgrounding to Grass (400-600 lb),0,3.358,24.29,0,0,0,1,0,10 +1,"Cows (1300 lb), including Calves",0,8.983,60.046,0,0,0,1,0,10 +12,Horse,0,14.954,78.002,0,0,0,5,0,10 +11,Goats,0,0.687,4.592,0,0,0,4,0,10 +33,Finishing: Yearlings (850-1400 lb),0,7.477,50,0,0,0,1,0,10 +26,"Dry Sow, Boar, or Gilts",4.174,3.593,19.215,0,0,0,9,0,10 +3,Backgrounding to Feedlot (400-850 lb),0,3.985,28.616,0,0,0,1,0,10 +31,Grower Finisher,2.668,0,0,0,0,0,9,0,10 +10,Ducks,0,0.04,0.141,0,0,0,6,0,10 +21,Turkey Broiler,0.306,0.077,0.25,0,0,0,6,0,10 +22,Turkey Heavy Hen,0.306,0.108,0.354,0,0,0,6,0,10 +14,Pullets - Floor Housing,0.288,0.016,0.054,0,0,0,6,0,10 +15,Layer,0.24,0.034,0.143,0,0,0,6,0,10 +17,Broiler Breeder Layer- Floor Housing,0.252,0.048,0.188,0,0,0,6,0,10 +16,Broiler Breeder Layer- Cage Housing,0.252,0.037,0.147,0,0,0,6,0,10 +27,Nursing Sow and Litter,6.209,0,0,0,0,0,9,0,10 +30,Finisher,3.17,0,0,0,0,0,9,0,10 +28,Nursery,0.661,0,0,0,0,0,9,0,10 +13,Pullets - Cage Housing,0.144,0.01,0.072,0,0,0,6,0,10 +18,Broiler Breeder Pullets,0.288,0.02,0.071,0,0,0,6,0,10 +19,Broiler Chicken (6.5 cycles),0.259,0.0172,0.0663,0,0,0,6,0,10 +20,Roaster Chicken,0.259,0.024,0.092,0,0,0,6,0,10 +24,Doe and Litter,0,0.188,1.003,0,0,0,7,0,10 +1,"Cows (1300 lb), including Calves",0,8.983,60.046,0,0,0,1,0,12 +16,Broiler Breeder Layer- Cage Housing,0.252,0.037,0.147,0,0,0,6,0,12 +17,Broiler Breeder Layer- Floor Housing,0.252,0.048,0.188,0,0,0,6,0,12 +18,Broiler Breeder Pullets,0.288,0.02,0.071,0,0,0,6,0,12 +19,Broiler Chicken (6.5 cycles),0.259,0.0172,0.0663,0,0,0,6,0,12 +20,Roaster Chicken,0.259,0.024,0.092,0,0,0,6,0,12 +21,Turkey Broiler,0.306,0.077,0.25,0,0,0,6,0,12 +22,Turkey Heavy Hen,0.306,0.108,0.354,0,0,0,6,0,12 +23,Turkey Heavy Tom,0.306,0.124,0.406,0,0,0,6,0,12 +24,Doe and Litter,0,0.188,1.003,0,0,0,7,0,12 +25, Ewe or Ram,0,1.11,6.676,0,0,0,8,0,12 +26,"Dry Sow, Boar, or Gilts",4.174,3.593,19.215,0,0,0,9,0,12 +27,Nursing Sow and Litter,6.209,0,0,0,0,0,9,0,12 +28,Nursery,0.661,0,0,0,0,0,9,0,12 +30,Finisher,3.17,0,0,0,0,0,9,0,12 +31,Grower Finisher,2.668,0,0,0,0,0,9,0,12 +15,Layer,0.24,0.034,0.143,0,0,0,6,0,12 +14,Pullets - Floor Housing,0.288,0.016,0.054,0,0,0,6,0,12 +29,Grower,1.664,0,0,0,0,0,9,0,12 +10,Ducks,0,0.04,0.141,0,0,0,6,0,12 +13,Pullets - Cage Housing,0.144,0.01,0.072,0,0,0,6,0,12 +2,Backgrounding to Grass (400-600 lb),0,3.358,24.29,0,0,0,1,0,12 +33,Finishing: Yearlings (850-1400 lb),0,7.477,50,0,0,0,1,0,12 +34,Finishing: Feeders (550-1250 lb),0,5.688,41.032,0,0,0,1,0,12 +35,Finishing: Short Keep (900-300 lb),0,7.47,54,0,0,0,1,0,12 +4,Calves (0 to 3 months old),1.849,2.906,15.541,10,0,0,2,6,12 +5,Calves (3 to 6 months old),3.699,5.812,31.082,10,0,0,2,5,12 +6,Heifers (6 to 15 months old),7.398,11.625,71.49,10,0,0,2,4,12 +3,Backgrounding to Feedlot (400-850 lb),0,3.985,28.616,0,0,0,1,0,12 +8,Dry Cow,18.494,28.534,205.992,10,0,0,2,2,12 +9,Milking Cow,19.815,30.647,221.251,10,5,72.3,2,1,12 +11,Goats,0,0.687,4.592,0,0,0,4,0,12 +7,Heifers (15 to 26 months old),12.946,20.079,123.482,10,0,0,2,3,12 +12,Horse,0,14.954,78.002,0,0,0,5,0,12 +1,"Cows (1300 lb), including Calves",0,8.983,60.046,0,0,0,1,0,13 +2,Backgrounding to Grass (400-600 lb),0,3.358,24.29,0,0,0,1,0,13 +3,Backgrounding to Feedlot (400-850 lb),0,3.985,28.616,0,0,0,1,0,13 +4,Calves (0 to 3 months old),1.849,2.906,15.541,10,0,0,2,6,13 +5,Calves (3 to 6 months old),3.699,5.812,31.082,10,0,0,2,5,13 +6,Heifers (6 to 15 months old),7.398,11.625,71.49,10,0,0,2,4,13 +7,Heifers (15 to 26 months old),12.946,20.079,123.482,10,0,0,2,3,13 +8,Dry Cow,18.494,28.534,205.992,10,0,0,2,2,13 +9,Milking Cow,19.815,30.647,221.251,10,5,72.3,2,1,13 +10,Ducks,0,0.04,0.141,0,0,0,6,0,13 +11,Goats,0,0.687,4.592,0,0,0,4,0,13 +12,Horse,0,14.954,78.002,0,0,0,5,0,13 +13,Pullets - Cage Housing,0.144,0.01,0.072,0,0,0,6,0,13 +14,Pullets - Floor Housing,0.288,0.016,0.054,0,0,0,6,0,13 +15,Layer,0.24,0.034,0.143,0,0,0,6,0,13 +16,Broiler Breeder Layer- Cage Housing,0.252,0.037,0.147,0,0,0,6,0,13 +17,Broiler Breeder Layer- Floor Housing,0.252,0.048,0.188,0,0,0,6,0,13 +18,Broiler Breeder Pullets,0.288,0.02,0.071,0,0,0,6,0,13 +19,Broiler Chicken (6.5 cycles),0.259,0.0172,0.0663,0,0,0,6,0,13 +20,Roaster Chicken,0.259,0.024,0.092,0,0,0,6,0,13 +21,Turkey Broiler,0.306,0.077,0.25,0,0,0,6,0,13 +22,Turkey Heavy Hen,0.306,0.108,0.354,0,0,0,6,0,13 +23,Turkey Heavy Tom,0.306,0.124,0.406,0,0,0,6,0,13 +24,Doe and Litter,0,0.188,1.003,0,0,0,7,0,13 +25, Ewe or Ram,0,1.11,6.676,0,0,0,8,0,13 +26,"Dry Sow, Boar, or Gilts",4.174,3.593,19.215,0,0,0,9,0,13 +27,Nursing Sow and Litter,6.209,0,0,0,0,0,9,0,13 +28,Nursery,0.661,0,0,0,0,0,9,0,13 +29,Grower,1.664,0,0,0,0,0,9,0,13 +30,Finisher,3.17,0,0,0,0,0,9,0,13 +31,Grower Finisher,2.668,0,0,0,0,0,9,0,13 +33,Finishing: Yearlings (850-1400 lb),0,7.477,50,0,0,0,1,0,13 +34,Finishing: Feeders (550-1250 lb),0,5.688,41.032,0,0,0,1,0,13 +35,Finishing: Short Keep (900-300 lb),0,7.47,54,0,0,0,1,0,13 +1,"Cows (1300 lb), including Calves",0,8.983,60.046,0,0,0,1,0,14 +2,Backgrounding to Grass (400-600 lb),0,3.358,24.29,0,0,0,1,0,14 +3,Backgrounding to Feedlot (400-850 lb),0,3.985,28.616,0,0,0,1,0,14 +4,Calves (0 to 3 months old),1.849,2.906,15.541,10,0,0,2,6,14 +5,Calves (3 to 6 months old),3.699,5.812,31.082,10,0,0,2,5,14 +6,Heifers (6 to 15 months old),7.398,11.625,71.49,10,0,0,2,4,14 +7,Heifers (15 to 26 months old),12.946,20.079,123.482,10,0,0,2,3,14 +8,Dry Cow,18.494,28.534,205.992,10,0,0,2,2,14 +9,Milking Cow,19.815,30.647,221.251,10,5,72.3,2,1,14 +10,Ducks,0,0.04,0.141,0,0,0,6,0,14 +11,Goats,0,0.687,4.592,0,0,0,4,0,14 +12,Horse,0,14.954,78.002,0,0,0,5,0,14 +13,Pullets - Cage Housing,0.144,0.01,0.072,0,0,0,6,0,14 +14,Pullets - Floor Housing,0.288,0.016,0.054,0,0,0,6,0,14 +15,Layer,0.24,0.034,0.143,0,0,0,6,0,14 +16,Broiler Breeder Layer- Cage Housing,0.252,0.037,0.147,0,0,0,6,0,14 +17,Broiler Breeder Layer- Floor Housing,0.252,0.048,0.188,0,0,0,6,0,14 +18,Broiler Breeder Pullets,0.288,0.02,0.071,0,0,0,6,0,14 +19,Broiler Chicken (6.5 cycles),0.259,0.0172,0.0663,0,0,0,6,0,14 +20,Roaster Chicken,0.259,0.024,0.092,0,0,0,6,0,14 +21,Turkey Broiler,0.306,0.077,0.25,0,0,0,6,0,14 +22,Turkey Heavy Hen,0.306,0.108,0.354,0,0,0,6,0,14 +23,Turkey Heavy Tom,0.306,0.124,0.406,0,0,0,6,0,14 +24,Doe and Litter,0,0.188,1.003,0,0,0,7,0,14 +25, Ewe or Ram,0,1.11,6.676,0,0,0,8,0,14 +26,"Dry Sow, Boar, or Gilts",4.174,3.593,19.215,0,0,0,9,0,14 +27,Nursing Sow and Litter,6.209,0,0,0,0,0,9,0,14 +28,Nursery,0.661,0,0,0,0,0,9,0,14 +29,Grower,1.664,0,0,0,0,0,9,0,14 +30,Finisher,3.17,0,0,0,0,0,9,0,14 +31,Grower Finisher,2.668,0,0,0,0,0,9,0,14 +33,Finishing: Yearlings (850-1400 lb),0,7.477,50,0,0,0,1,0,14 +34,Finishing: Feeders (550-1250 lb),0,5.688,41.032,0,0,0,1,0,14 +35,Finishing: Short Keep (900-300 lb),0,7.47,54,0,0,0,1,0,14 diff --git a/database/db/seed_tables/_AnimalSubType/init_animal_subtype.sql b/database/db/seed_tables/_AnimalSubType/init_animal_subtype.sql new file mode 100644 index 00000000..e1e45608 --- /dev/null +++ b/database/db/seed_tables/_AnimalSubType/init_animal_subtype.sql @@ -0,0 +1,20 @@ +CREATE TABLE IF NOT EXISTS temp_animals_subtype ( + Id INT NOT NULL, + Name VARCHAR(100) NOT NULL, + LiquidPerGalPerAnimalPerDay FLOAT NOT NULL, + SolidPerGalPerAnimalPerDay FLOAT NOT NULL, + SolidPerPoundPerAnimalPerDay FLOAT NOT NULL, + SolidLiquidSeparationPercentage INT NOT NULL, + WashWater FLOAT NOT NULL, + MilkProduction FLOAT NOT NULL, + AnimalId INT NOT NULL, + SortOrder INT NOT NULL, + StaticDataVersionId INT NOT NULL, + PRIMARY KEY (Id, StaticDataVersionId) +); +\copy temp_animals_subtype (Id, Name, LiquidPerGalPerAnimalPerDay, SolidPerGalPerAnimalPerDay, SolidPerPoundPerAnimalPerDay, SolidLiquidSeparationPercentage, WashWater, MilkProduction, AnimalId, SortOrder, StaticDataVersionId) from 'docker-entrypoint-initdb.d/_AnimalSubType__20241212.csv' with header delimiter ',' CSV ; +SELECT * INTO animal_subtype +FROM temp_animals_subtype +WHERE StaticDataVersionId=14; +ALTER TABLE animal_subtype +DROP COLUMN StaticDataVersionId; diff --git a/database/db/seed_tables/_Regions/_Regions__20241212.csv b/database/db/seed_tables/_Regions/_Regions__20241212.csv new file mode 100644 index 00000000..9c068554 --- /dev/null +++ b/database/db/seed_tables/_Regions/_Regions__20241212.csv @@ -0,0 +1,255 @@ +Id,Name,SoilTestPhosphorousRegionCd,SoilTestPotassiumRegionCd,LocationId,SortNumber,StaticDataVersionId +1,Bulkley-Nechako,2,3,1,1,1 +3,Cariboo,1,2,1,2,1 +5,Central Okanagan,1,2,1,12,1 +9,East Kootenay,1,2,1,6,1 +10,"Fraser Valley, East (including Abbotsford/Mission)",1,1,2,8,1 +11,Fraser-Fort George,2,3,1,10,1 +12,Kitimat-Stikine,2,3,1,11,1 +13,Kootenay Boundary,1,2,1,7,1 +14,"Fraser Valley, West (Delta to Langley/Maple Ridge)",1,1,2,9,1 +16,North Okanagan,1,2,1,13,1 +17,Okanagan-Similkameen,1,2,1,14,1 +18,Peace River,3,3,1,15,1 +19,Squamish-Lilloeet,1,2,2,16,1 +20,Thompson-Nicola,1,2,1,17,1 +21,Vancouver Island,1,1,2,18,1 +4,Central Kootenay,1,2,1,4,1 +6,Columbia Shuswap,1,2,1,3,1 +2,Northern Rockies,3,3,1,19,1 +2,Northern Rockies,3,3,1,19,2 +17,Okanagan-Similkameen,1,2,1,14,2 +6,Columbia Shuswap,1,2,1,3,2 +4,Central Kootenay,1,2,1,4,2 +21,Vancouver Island,1,1,2,18,2 +20,Thompson-Nicola,1,2,1,17,2 +19,Squamish-Lilloeet,1,2,2,16,2 +18,Peace River,3,3,1,15,2 +16,North Okanagan,1,2,1,13,2 +13,Kootenay Boundary,1,2,1,7,2 +1,Bulkley-Nechako,2,3,1,1,2 +3,Cariboo,1,2,1,2,2 +5,Central Okanagan,1,2,1,12,2 +14,"Fraser Valley, West (Delta to Langley/Maple Ridge)",1,1,2,9,2 +10,"Fraser Valley, East (including Abbotsford/Mission)",1,1,2,8,2 +11,Fraser-Fort George,2,3,1,10,2 +12,Kitimat-Stikine,2,3,1,11,2 +9,East Kootenay,1,2,1,6,2 +9,East Kootenay,1,2,1,6,3 +1,Bulkley-Nechako,2,3,1,1,3 +12,Kitimat-Stikine,2,3,1,11,3 +11,Fraser-Fort George,2,3,1,10,3 +10,"Fraser Valley, East (including Abbotsford/Mission)",1,1,2,8,3 +14,"Fraser Valley, West (Delta to Langley/Maple Ridge)",1,1,2,9,3 +5,Central Okanagan,1,2,1,12,3 +3,Cariboo,1,2,1,2,3 +13,Kootenay Boundary,1,2,1,7,3 +18,Peace River,3,3,1,15,3 +2,Northern Rockies,3,3,1,19,3 +17,Okanagan-Similkameen,1,2,1,14,3 +6,Columbia Shuswap,1,2,1,3,3 +16,North Okanagan,1,2,1,13,3 +21,Vancouver Island,1,1,2,18,3 +20,Thompson-Nicola,1,2,1,17,3 +19,Squamish-Lilloeet,1,2,2,16,3 +4,Central Kootenay,1,2,1,4,3 +4,Central Kootenay,1,2,1,4,4 +19,Squamish-Lilloeet,1,2,2,16,4 +16,North Okanagan,1,2,1,13,4 +6,Columbia Shuswap,1,2,1,3,4 +17,Okanagan-Similkameen,1,2,1,14,4 +18,Peace River,3,3,1,15,4 +3,Cariboo,1,2,1,2,4 +9,East Kootenay,1,2,1,6,4 +1,Bulkley-Nechako,2,3,1,1,4 +12,Kitimat-Stikine,2,3,1,11,4 +13,Kootenay Boundary,1,2,1,7,4 +10,"Fraser Valley, East (including Abbotsford/Mission)",1,1,2,8,4 +14,"Fraser Valley, West (Delta to Langley/Maple Ridge)",1,1,2,9,4 +5,Central Okanagan,1,2,1,12,4 +11,Fraser-Fort George,2,3,1,10,4 +22,Powell River / qathet Region,1,1,2,17,4 +21,Vancouver Island,1,1,2,20,4 +2,Northern Rockies,3,3,1,21,4 +23,Sunshine Coast,1,1,2,18,4 +20,Thompson-Nicola,1,2,1,19,4 +10,"Fraser Valley, East (including Abbotsford/Mission)",1,1,2,8,5 +23,Sunshine Coast,1,1,2,18,5 +2,Northern Rockies,3,3,1,21,5 +21,Vancouver Island,1,1,2,20,5 +22,Powell River / qathet Region,1,1,2,17,5 +11,Fraser-Fort George,2,3,1,10,5 +5,Central Okanagan,1,2,1,12,5 +14,"Fraser Valley, West (Delta to Langley/Maple Ridge)",1,1,2,9,5 +20,Thompson-Nicola,1,2,1,19,5 +13,Kootenay Boundary,1,2,1,7,5 +1,Bulkley-Nechako,2,3,1,1,5 +4,Central Kootenay,1,2,1,4,5 +19,Squamish-Lilloeet,1,2,2,16,5 +16,North Okanagan,1,2,1,13,5 +6,Columbia Shuswap,1,2,1,3,5 +12,Kitimat-Stikine,2,3,1,11,5 +18,Peace River,3,3,1,15,5 +3,Cariboo,1,2,1,2,5 +9,East Kootenay,1,2,1,6,5 +17,Okanagan-Similkameen,1,2,1,14,5 +4,Central Kootenay,1,2,1,4,6 +9,East Kootenay,1,2,1,6,6 +3,Cariboo,1,2,1,2,6 +18,Peace River,3,3,1,15,6 +12,Kitimat-Stikine,2,3,1,11,6 +6,Columbia Shuswap,1,2,1,3,6 +16,North Okanagan,1,2,1,13,6 +19,Squamish-Lilloeet,1,2,2,16,6 +17,Okanagan-Similkameen,1,2,1,14,6 +1,Bulkley-Nechako,2,3,1,1,6 +20,Thompson-Nicola,1,2,1,19,6 +10,"Fraser Valley, East (including Abbotsford/Mission)",1,1,2,8,6 +23,Sunshine Coast,1,1,2,18,6 +2,Northern Rockies,3,3,1,21,6 +21,Vancouver Island,1,1,2,20,6 +13,Kootenay Boundary,1,2,1,7,6 +11,Fraser-Fort George,2,3,1,10,6 +5,Central Okanagan,1,2,1,12,6 +14,"Fraser Valley, West (Delta to Langley/Maple Ridge)",1,1,2,9,6 +22,Powell River / qathet Region,1,1,2,17,6 +20,Thompson-Nicola,1,2,1,19,7 +23,Sunshine Coast,1,1,2,18,7 +2,Northern Rockies,3,3,1,21,7 +21,Vancouver Island,1,1,2,20,7 +22,Powell River / qathet Region,1,1,2,17,7 +11,Fraser-Fort George,2,3,1,10,7 +5,Central Okanagan,1,2,1,12,7 +14,"Fraser Valley, West (Delta to Langley/Maple Ridge)",1,1,2,9,7 +10,"Fraser Valley, East (including Abbotsford/Mission)",1,1,2,8,7 +13,Kootenay Boundary,1,2,1,7,7 +1,Bulkley-Nechako,2,3,1,1,7 +4,Central Kootenay,1,2,1,4,7 +19,Squamish-Lilloeet,1,2,2,16,7 +16,North Okanagan,1,2,1,13,7 +6,Columbia Shuswap,1,2,1,3,7 +12,Kitimat-Stikine,2,3,1,11,7 +18,Peace River,3,3,1,15,7 +3,Cariboo,1,2,1,2,7 +9,East Kootenay,1,2,1,6,7 +17,Okanagan-Similkameen,1,2,1,14,7 +17,Okanagan-Similkameen,1,2,1,14,8 +9,East Kootenay,1,2,1,6,8 +3,Cariboo,1,2,1,2,8 +18,Peace River,3,3,1,15,8 +12,Kitimat-Stikine,2,3,1,11,8 +6,Columbia Shuswap,1,2,1,3,8 +16,North Okanagan,1,2,1,13,8 +19,Squamish-Lilloeet,1,2,2,16,8 +4,Central Kootenay,1,2,1,4,8 +1,Bulkley-Nechako,2,3,1,1,8 +10,"Fraser Valley, East (including Abbotsford/Mission)",1,1,2,8,8 +20,Thompson-Nicola,1,2,1,19,8 +23,Sunshine Coast,1,1,2,18,8 +2,Northern Rockies,3,3,1,21,8 +21,Vancouver Island,1,1,2,20,8 +13,Kootenay Boundary,1,2,1,7,8 +11,Fraser-Fort George,2,3,1,10,8 +5,Central Okanagan,1,2,1,12,8 +14,"Fraser Valley, West (Delta to Langley/Maple Ridge)",1,1,2,9,8 +22,Powell River / qathet Region,1,1,2,17,8 +22,Powell River / qathet Region,1,1,2,17,9 +14,"Fraser Valley, West (Delta to Langley/Maple Ridge)",1,1,2,9,9 +5,Central Okanagan,1,2,1,12,9 +11,Fraser-Fort George,2,3,1,10,9 +13,Kootenay Boundary,1,2,1,7,9 +21,Vancouver Island,1,1,2,20,9 +2,Northern Rockies,3,3,1,21,9 +23,Sunshine Coast,1,1,2,18,9 +20,Thompson-Nicola,1,2,1,19,9 +10,"Fraser Valley, East (including Abbotsford/Mission)",1,1,2,8,9 +4,Central Kootenay,1,2,1,4,9 +17,Okanagan-Similkameen,1,2,1,14,9 +9,East Kootenay,1,2,1,6,9 +3,Cariboo,1,2,1,2,9 +18,Peace River,3,3,1,15,9 +1,Bulkley-Nechako,2,3,1,1,9 +6,Columbia Shuswap,1,2,1,3,9 +16,North Okanagan,1,2,1,13,9 +19,Squamish-Lilloeet,1,2,2,16,9 +12,Kitimat-Stikine,2,3,1,11,9 +12,Kitimat-Stikine,2,3,1,11,10 +19,Squamish-Lilloeet,1,2,2,16,10 +16,North Okanagan,1,2,1,13,10 +6,Columbia Shuswap,1,2,1,3,10 +1,Bulkley-Nechako,2,3,1,1,10 +18,Peace River,3,3,1,15,10 +3,Cariboo,1,2,1,2,10 +9,East Kootenay,1,2,1,6,10 +17,Okanagan-Similkameen,1,2,1,14,10 +4,Central Kootenay,1,2,1,4,10 +20,Thompson-Nicola,1,2,1,19,10 +22,Powell River / qathet Region,1,1,2,17,10 +14,"Fraser Valley, West (Delta to Langley/Maple Ridge)",1,1,2,9,10 +5,Central Okanagan,1,2,1,12,10 +11,Fraser-Fort George,2,3,1,10,10 +10,"Fraser Valley, East (including Abbotsford/Mission)",1,1,2,8,10 +21,Vancouver Island,1,1,2,20,10 +2,Northern Rockies,3,3,1,21,10 +23,Sunshine Coast,1,1,2,18,10 +13,Kootenay Boundary,1,2,1,7,10 +23,Sunshine Coast,1,1,2,18,12 +22,Powell River / qathet Region,1,1,2,17,12 +21,Vancouver Island,1,1,2,20,12 +20,Thompson-Nicola,1,2,1,19,12 +19,Squamish-Lilloeet,1,2,2,16,12 +18,Peace River,3,3,1,15,12 +17,Okanagan-Similkameen,1,2,1,14,12 +16,North Okanagan,1,2,1,13,12 +14,"Fraser Valley, West (Delta to Langley/Maple Ridge)",1,1,2,9,12 +13,Kootenay Boundary,1,2,1,7,12 +11,Fraser-Fort George,2,3,1,10,12 +1,Bulkley-Nechako,2,3,1,1,12 +2,Northern Rockies,3,3,1,21,12 +3,Cariboo,1,2,1,2,12 +4,Central Kootenay,1,2,1,4,12 +12,Kitimat-Stikine,2,3,1,11,12 +6,Columbia Shuswap,1,2,1,3,12 +9,East Kootenay,1,2,1,6,12 +10,"Fraser Valley, East (including Abbotsford/Mission)",1,1,2,8,12 +5,Central Okanagan,1,2,1,12,12 +1,Bulkley-Nechako,2,3,1,1,13 +2,Northern Rockies,3,3,1,21,13 +3,Cariboo,1,2,1,2,13 +4,Central Kootenay,1,2,1,4,13 +5,Central Okanagan,1,2,1,12,13 +6,Columbia Shuswap,1,2,1,3,13 +9,East Kootenay,1,2,1,6,13 +10,"Fraser Valley, East (including Abbotsford/Mission)",1,1,2,8,13 +11,Fraser-Fort George,2,3,1,10,13 +12,Kitimat-Stikine,2,3,1,11,13 +13,Kootenay Boundary,1,2,1,7,13 +14,"Fraser Valley, West (Delta to Langley/Maple Ridge)",1,1,2,9,13 +16,North Okanagan,1,2,1,13,13 +17,Okanagan-Similkameen,1,2,1,14,13 +18,Peace River,3,3,1,15,13 +19,Squamish-Lilloeet,1,2,2,16,13 +20,Thompson-Nicola,1,2,1,19,13 +21,Vancouver Island,1,1,2,20,13 +22,Powell River / qathet Region,1,1,2,17,13 +23,Sunshine Coast,1,1,2,18,13 +1,Bulkley-Nechako,2,3,1,1,14 +2,Northern Rockies,3,3,1,21,14 +3,Cariboo,1,2,1,2,14 +4,Central Kootenay,1,2,1,4,14 +5,Central Okanagan,1,2,1,12,14 +6,Columbia Shuswap,1,2,1,3,14 +9,East Kootenay,1,2,1,6,14 +10,"Fraser Valley, East (including Abbotsford/Mission)",1,1,2,8,14 +11,Fraser-Fort George,2,3,1,10,14 +12,Kitimat-Stikine,2,3,1,11,14 +13,Kootenay Boundary,1,2,1,7,14 +14,"Fraser Valley, West (Delta to Langley/Maple Ridge)",1,1,2,9,14 +16,North Okanagan,1,2,1,13,14 +17,Okanagan-Similkameen,1,2,1,14,14 +18,Peace River,3,3,1,15,14 +19,Squamish-Lilloeet,1,2,2,16,14 +20,Thompson-Nicola,1,2,1,19,14 +21,Vancouver Island,1,1,2,20,14 +22,Powell River / qathet Region,1,1,2,17,14 +23,Sunshine Coast,1,1,2,18,14 diff --git a/database/db/seed_tables/_Regions/init_regions.sql b/database/db/seed_tables/_Regions/init_regions.sql new file mode 100644 index 00000000..340d101e --- /dev/null +++ b/database/db/seed_tables/_Regions/init_regions.sql @@ -0,0 +1,16 @@ +CREATE TABLE IF NOT EXISTS temp_regions ( + Id INT NOT NULL, + Name VARCHAR(100) NOT NULL, + SoilTestPhosphorousRegionCd INT NOT NULL, + SoilTestPotassiumRegionCd INT NOT NULL, + LocationId INT NOT NULL, + SortOrder INT NOT NULL, + StaticDataVersionId INT NOT NULL, + PRIMARY KEY (Id, StaticDataVersionId) +); +\copy temp_regions (Id, Name, SoilTestPhosphorousRegionCd, SoilTestPotassiumRegionCd, LocationId, SortOrder, StaticDataVersionId) from 'docker-entrypoint-initdb.d/_Regions__20241212.csv' with header delimiter ',' CSV ; +SELECT * INTO regions +FROM temp_regions +WHERE StaticDataVersionId=14; +ALTER TABLE regions +DROP COLUMN StaticDataVersionId; diff --git a/database/db/seed_tables/_SubRegion/_SubRegion__20241212.csv b/database/db/seed_tables/_SubRegion/_SubRegion__20241212.csv new file mode 100644 index 00000000..3962c9e2 --- /dev/null +++ b/database/db/seed_tables/_SubRegion/_SubRegion__20241212.csv @@ -0,0 +1,1110 @@ +Id,Name,AnnualPrecipitation,AnnualPrecipitationOctToMar,RegionId,StaticDataVersionId +2,Smithers,512,267,1,1 +23,Prince George,556,262,11,1 +24,Hazelton,747,362,12,1 +25,Terrace,1160,809,12,1 +26,Grand Forks,510,250,13,1 +28,Enderby,480,253,16,1 +29,Vernon,445,222,16,1 +22,Surrey,1354,957,14,1 +30,Keremos,326,152,17,1 +32,Princeton,358,196,17,1 +33,Dawson Creek,482,160,18,1 +34,Fort St. John,466,150,18,1 +35,Lillooet,369,219,19,1 +36,Pemberton,1060,783,19,1 +37,Kamloops,279,118,20,1 +38,Merritt,325,177,20,1 +31,Penticton,333,146,17,1 +1,Fort St. James,488,251,1,1 +21,Pitt Medows,2253,1591,14,1 +19,Mission,1876,1262,10,1 +3,Vanderhoof,496,244,1,1 +5,Quesnel,542,253,3,1 +6,Williams Lake,450,194,3,1 +7,Castlegar,754,427,4,1 +8,Creston,630,357,4,1 +9,Kelowna,410,215,5,1 +39,Vavenby,474,221,20,1 +10,Salmon Arm,668,364,6,1 +13,Cranbrook,382,161,9,1 +14,Fernie,1217,741,9,1 +15,Abbotsford,1876,1262,10,1 +16,Agassiz,1755,1223,10,1 +17,Chilliwack,1776,1230,10,1 +18,Hope,2142,1473,10,1 +20,Delta,918,655,14,1 +27,Nanaimo,846,620,21,1 +4,Saanichton,909,707,21,1 +11,Comox,1180,917,21,1 +12,Cowichan Valley,1365,1103,21,1 +40,Metchosin,1010,803,21,1 +41,Campbell River,1605,1197,21,1 +43,Grassy Plains,690,429,1,1 +44,100 Mile house,475,208,3,1 +45,Anahim Lake,1092,806,3,1 +46,Alexis Creek,538,213,3,1 +51,Chetwynd,521,220,18,1 +47,Grasmere,430,191,4,1 +48,Invermere,397,176,4,1 +49,McBride,811,411,11,1 +50,Lumby,590,309,16,1 +52,Cache Creek,346,157,20,1 +53,Fort Nelson,491,171,2,1 +39,Vavenby,474,221,20,2 +38,Merritt,325,177,20,2 +37,Kamloops,279,118,20,2 +36,Pemberton,1060,783,19,2 +33,Dawson Creek,482,160,18,2 +51,Chetwynd,521,220,18,2 +34,Fort St. John,466,150,18,2 +31,Penticton,333,146,17,2 +52,Cache Creek,346,157,20,2 +35,Lillooet,369,219,19,2 +27,Nanaimo,846,620,21,2 +10,Salmon Arm,668,364,6,2 +11,Comox,1180,917,21,2 +12,Cowichan Valley,1365,1103,21,2 +40,Metchosin,1010,803,21,2 +41,Campbell River,1605,1197,21,2 +7,Castlegar,754,427,4,2 +8,Creston,630,357,4,2 +47,Grasmere,430,191,4,2 +48,Invermere,397,176,4,2 +32,Princeton,358,196,17,2 +42,Golden,549,296,6,2 +53,Fort Nelson,491,171,2,2 +4,Saanichton,909,707,21,2 +30,Keremos,326,152,17,2 +23,Prince George,556,262,11,2 +29,Vernon,445,222,16,2 +2,Smithers,512,267,1,2 +1,Fort St. James,488,251,1,2 +42,Golden,549,296,6,1 +3,Vanderhoof,496,244,1,2 +43,Grassy Plains,690,429,1,2 +6,Williams Lake,450,194,3,2 +44,100 Mile house,475,208,3,2 +45,Anahim Lake,1092,806,3,2 +46,Alexis Creek,538,213,3,2 +9,Kelowna,410,215,5,2 +13,Cranbrook,382,161,9,2 +14,Fernie,1217,741,9,2 +50,Lumby,590,309,16,2 +19,Mission,1876,1262,10,2 +16,Agassiz,1755,1223,10,2 +17,Chilliwack,1776,1230,10,2 +18,Hope,2142,1473,10,2 +49,McBride,811,411,11,2 +24,Hazelton,747,362,12,2 +25,Terrace,1160,809,12,2 +26,Grand Forks,510,250,13,2 +22,Surrey,1354,957,14,2 +21,Pitt Medows,2253,1591,14,2 +20,Delta,918,655,14,2 +28,Enderby,480,253,16,2 +15,Abbotsford,1876,1262,10,2 +5,Quesnel,542,253,3,2 +9,Kelowna,410,215,5,3 +5,Quesnel,542,253,3,3 +3,Vanderhoof,496,244,1,3 +6,Williams Lake,450,194,3,3 +1,Fort St. James,488,251,1,3 +22,Surrey,1354,957,14,3 +44,100 Mile house,475,208,3,3 +21,Pitt Medows,2253,1591,14,3 +25,Terrace,1160,809,12,3 +19,Mission,1876,1262,10,3 +16,Agassiz,1755,1223,10,3 +17,Chilliwack,1776,1230,10,3 +18,Hope,2142,1473,10,3 +15,Abbotsford,1876,1262,10,3 +23,Prince George,556,262,11,3 +24,Hazelton,747,362,12,3 +2,Smithers,512,267,1,3 +13,Cranbrook,382,161,9,3 +14,Fernie,1217,741,9,3 +20,Delta,918,655,14,3 +26,Grand Forks,510,250,13,3 +45,Anahim Lake,545,348,3,3 +43,Grassy Plains,510,278,1,3 +49,McBride,591,294,11,3 +38,Merritt,325,177,20,3 +53,Fort Nelson,491,171,2,3 +31,Penticton,333,146,17,3 +32,Princeton,358,196,17,3 +30,Keremos,326,152,17,3 +7,Castlegar,754,427,4,3 +8,Creston,630,357,4,3 +47,Grasmere,430,191,4,3 +48,Invermere,397,176,4,3 +27,Nanaimo,846,620,21,3 +11,Comox,1180,917,21,3 +28,Enderby,480,253,16,3 +12,Cowichan Valley,1365,1103,21,3 +41,Campbell River,1605,1197,21,3 +4,Saanichton,909,707,21,3 +39,Vavenby,474,221,20,3 +37,Kamloops,279,118,20,3 +36,Pemberton,1060,783,19,3 +35,Lillooet,369,219,19,3 +33,Dawson Creek,482,160,18,3 +51,Chetwynd,521,220,18,3 +34,Fort St. John,466,150,18,3 +29,Vernon,445,222,16,3 +40,Metchosin,1010,803,21,3 +10,Salmon Arm,668,364,6,3 +46,Alexis Creek,338,149,3,3 +50,Lumby,478,216,16,3 +42,Golden,488,260,6,3 +52,Cache Creek,284,127,20,3 +11,Comox,1180,917,21,4 +27,Nanaimo,846,620,21,4 +50,Lumby,478,216,16,4 +29,Vernon,445,222,16,4 +30,Keremos,326,152,17,4 +42,Golden,488,260,6,4 +10,Salmon Arm,668,364,6,4 +32,Princeton,358,196,17,4 +28,Enderby,480,253,16,4 +41,Campbell River,1605,1197,21,4 +8,Creston,630,357,4,4 +40,Metchosin,1010,803,21,4 +38,Merritt,325,177,20,4 +39,Vavenby,474,221,20,4 +37,Kamloops,279,118,20,4 +52,Cache Creek,284,127,20,4 +36,Pemberton,1060,783,19,4 +35,Lillooet,369,219,19,4 +7,Castlegar,754,427,4,4 +31,Penticton,333,146,17,4 +4,Saanichton,909,707,21,4 +53,Fort Nelson,491,171,2,4 +20,Delta,918,655,14,4 +51,Chetwynd,521,220,18,4 +13,Cranbrook,382,161,9,4 +14,Fernie,1217,741,9,4 +3,Vanderhoof,496,244,1,4 +1,Fort St. James,488,251,1,4 +43,Grassy Plains,510,278,1,4 +25,Terrace,1160,809,12,4 +24,Hazelton,747,362,12,4 +23,Prince George,556,262,11,4 +49,McBride,591,294,11,4 +19,Mission,1876,1262,10,4 +16,Agassiz,1755,1223,10,4 +34,Fort St. John,466,150,18,4 +17,Chilliwack,1776,1230,10,4 +15,Abbotsford,1876,1262,10,4 +22,Surrey,1354,957,14,4 +9,Kelowna,410,215,5,4 +5,Quesnel,542,253,3,4 +6,Williams Lake,450,194,3,4 +44,100 Mile house,475,208,3,4 +45,Anahim Lake,545,348,3,4 +46,Alexis Creek,338,149,3,4 +26,Grand Forks,510,250,13,4 +33,Dawson Creek,482,160,18,4 +18,Hope,2142,1473,10,4 +2,Smithers,512,267,1,4 +21,Pitt Meadows,2253,1591,14,4 +47,Grasmere,430,191,9,4 +48,Invermere,397,176,9,4 +54,Burns Lake,509,277,1,4 +55,Houston,440,231,1,4 +56,Salmo,692,367,4,4 +57,Nelson,803,490,4,4 +58,Nakusp,827,496,4,4 +59,Lake Country,385,191,5,4 +60,Peachland,335,172,5,4 +61,Kelowna,361,176,5,4 +62,Revelstoke,925,564,6,4 +63,Sicamous,627,334,6,4 +64,Mica Creek,1039,726,6,4 +65,Sparwood,630,346,9,4 +66,Haztic lake,1845,1288,14,4 +67,Aldergrove,1600,1119,14,4 +68,Langley City,1453,1026,14,4 +69,White Rock,1319,943,14,4 +70,Maple Ridge,1769,1247,14,4 +71,Grand Forks,500,266,13,4 +72,Beaverdell,437,228,13,4 +73,Rock Creek,379,180,13,4 +75,Greenwood,498,270,13,4 +74,Trail,658,398,13,4 +76,Cherryville,557,273,16,4 +77,Armstrong,472,241,16,4 +78,Ft. Nelson,505,167,2,4 +79,Summerland,325,157,17,4 +80,Oliver,299,147,17,4 +81,Osoyoos,304,163,17,4 +82,Powell River,1176,848,22,4 +83,Squamish,2154,1659,19,4 +84,Gibson,1459,1084,23,4 +85,Sechelt,1178,866,23,4 +86,Barriere,451,219,20,4 +87,Lytton,460,320,20,4 +88,Clinton,394,158,20,4 +89,Westwold,422,203,20,4 +90,Duncan,1191,954,21,4 +91,Port Alberni,2186,1735,21,4 +92,Parksville,1131,878,21,4 +93,Salt Spring Island,1010,779,21,4 +94,Mayne Island,876,653,21,4 +95,Pender Island,823,615,21,4 +96,Galiano Island,974,734,21,4 +69,White Rock,1319,943,14,5 +23,Prince George,556,262,11,5 +61,Kelowna,361,176,5,5 +49,McBride,591,294,11,5 +60,Peachland,335,172,5,5 +59,Lake Country,385,191,5,5 +9,Kelowna,410,215,5,5 +70,Maple Ridge,1769,1247,14,5 +15,Abbotsford,1876,1262,10,5 +67,Aldergrove,1600,1119,14,5 +66,Haztic lake,1845,1288,14,5 +21,Pitt Meadows,2253,1591,14,5 +22,Surrey,1354,957,14,5 +20,Delta,918,655,14,5 +18,Hope,2142,1473,10,5 +17,Chilliwack,1776,1230,10,5 +16,Agassiz,1755,1223,10,5 +19,Mission,1876,1262,10,5 +82,Powell River,1176,848,22,5 +68,Langley City,1453,1026,14,5 +11,Comox,1180,917,21,5 +39,Vavenby,474,221,20,5 +41,Campbell River,1605,1197,21,5 +89,Westwold,422,203,20,5 +88,Clinton,394,158,20,5 +87,Lytton,460,320,20,5 +86,Barriere,451,219,20,5 +52,Cache Creek,284,127,20,5 +37,Kamloops,279,118,20,5 +74,Trail,658,398,13,5 +38,Merritt,325,177,20,5 +85,Sechelt,1178,866,23,5 +84,Gibson,1459,1084,23,5 +78,Ft. Nelson,505,167,2,5 +53,Fort Nelson,491,171,2,5 +96,Galiano Island,974,734,21,5 +95,Pender Island,823,615,21,5 +94,Mayne Island,876,653,21,5 +93,Salt Spring Island,1010,779,21,5 +92,Parksville,1131,878,21,5 +91,Port Alberni,2186,1735,21,5 +90,Duncan,1191,954,21,5 +4,Saanichton,909,707,21,5 +40,Metchosin,1010,803,21,5 +27,Nanaimo,846,620,21,5 +75,Greenwood,498,270,13,5 +45,Anahim Lake,545,348,3,5 +72,Beaverdell,437,228,13,5 +31,Penticton,333,146,17,5 +32,Princeton,358,196,17,5 +30,Keremos,326,152,17,5 +64,Mica Creek,1039,726,6,5 +63,Sicamous,627,334,6,5 +62,Revelstoke,925,564,6,5 +10,Salmon Arm,668,364,6,5 +42,Golden,488,260,6,5 +77,Armstrong,472,241,16,5 +79,Summerland,325,157,17,5 +76,Cherryville,557,273,16,5 +50,Lumby,478,216,16,5 +83,Squamish,2154,1659,19,5 +35,Lillooet,369,219,19,5 +36,Pemberton,1060,783,19,5 +58,Nakusp,827,496,4,5 +57,Nelson,803,490,4,5 +56,Salmo,692,367,4,5 +7,Castlegar,754,427,4,5 +8,Creston,630,357,4,5 +29,Vernon,445,222,16,5 +80,Oliver,299,147,17,5 +81,Osoyoos,304,163,17,5 +51,Chetwynd,521,220,18,5 +71,Grand Forks,500,266,13,5 +26,Grand Forks,510,250,13,5 +24,Hazelton,747,362,12,5 +25,Terrace,1160,809,12,5 +55,Houston,440,231,1,5 +54,Burns Lake,509,277,1,5 +2,Smithers,512,267,1,5 +43,Grassy Plains,510,278,1,5 +1,Fort St. James,488,251,1,5 +3,Vanderhoof,496,244,1,5 +65,Sparwood,630,346,9,5 +48,Invermere,397,176,9,5 +47,Grasmere,430,191,9,5 +14,Fernie,1217,741,9,5 +13,Cranbrook,382,161,9,5 +46,Alexis Creek,338,149,3,5 +44,100 Mile house,475,208,3,5 +6,Williams Lake,450,194,3,5 +5,Quesnel,542,253,3,5 +33,Dawson Creek,482,160,18,5 +34,Fort St. John,466,150,18,5 +73,Rock Creek,379,180,13,5 +28,Enderby,480,253,16,5 +28,Enderby,480,253,16,6 +29,Vernon,445,222,16,6 +64,Mica Creek,1039,726,6,6 +50,Lumby,478,216,16,6 +76,Cherryville,557,273,16,6 +77,Armstrong,472,241,16,6 +36,Pemberton,1060,783,19,6 +35,Lillooet,369,219,19,6 +1,Fort St. James,488,251,1,6 +8,Creston,630,357,4,6 +7,Castlegar,754,427,4,6 +56,Salmo,692,367,4,6 +57,Nelson,803,490,4,6 +58,Nakusp,827,496,4,6 +3,Vanderhoof,496,244,1,6 +43,Grassy Plains,510,278,1,6 +2,Smithers,512,267,1,6 +54,Burns Lake,509,277,1,6 +63,Sicamous,627,334,6,6 +83,Squamish,2154,1659,19,6 +62,Revelstoke,925,564,6,6 +13,Cranbrook,382,161,9,6 +42,Golden,488,260,6,6 +81,Osoyoos,304,163,17,6 +80,Oliver,299,147,17,6 +79,Summerland,325,157,17,6 +30,Keremos,326,152,17,6 +32,Princeton,358,196,17,6 +31,Penticton,333,146,17,6 +55,Houston,440,231,1,6 +14,Fernie,1217,741,9,6 +47,Grasmere,430,191,9,6 +48,Invermere,397,176,9,6 +65,Sparwood,630,346,9,6 +5,Quesnel,542,253,3,6 +6,Williams Lake,450,194,3,6 +44,100 Mile house,475,208,3,6 +46,Alexis Creek,338,149,3,6 +45,Anahim Lake,545,348,3,6 +34,Fort St. John,466,150,18,6 +33,Dawson Creek,482,160,18,6 +51,Chetwynd,521,220,18,6 +25,Terrace,1160,809,12,6 +24,Hazelton,747,362,12,6 +10,Salmon Arm,668,364,6,6 +73,Rock Creek,379,180,13,6 +67,Aldergrove,1600,1119,14,6 +71,Grand Forks,500,266,13,6 +27,Nanaimo,846,620,21,6 +40,Metchosin,1010,803,21,6 +4,Saanichton,909,707,21,6 +90,Duncan,1191,954,21,6 +91,Port Alberni,2186,1735,21,6 +92,Parksville,1131,878,21,6 +93,Salt Spring Island,1010,779,21,6 +94,Mayne Island,876,653,21,6 +95,Pender Island,823,615,21,6 +82,Powell River,1176,848,22,6 +96,Galiano Island,974,734,21,6 +53,Fort Nelson,491,171,2,6 +78,Ft. Nelson,505,167,2,6 +84,Gibson,1459,1084,23,6 +85,Sechelt,1178,866,23,6 +19,Mission,1876,1262,10,6 +16,Agassiz,1755,1223,10,6 +17,Chilliwack,1776,1230,10,6 +18,Hope,2142,1473,10,6 +15,Abbotsford,1876,1262,10,6 +11,Comox,1180,917,21,6 +23,Prince George,556,262,11,6 +49,McBride,591,294,11,6 +61,Kelowna,361,176,5,6 +72,Beaverdell,437,228,13,6 +75,Greenwood,498,270,13,6 +74,Trail,658,398,13,6 +38,Merritt,325,177,20,6 +37,Kamloops,279,118,20,6 +52,Cache Creek,284,127,20,6 +86,Barriere,451,219,20,6 +87,Lytton,460,320,20,6 +88,Clinton,394,158,20,6 +89,Westwold,422,203,20,6 +39,Vavenby,474,221,20,6 +68,Langley City,1453,1026,14,6 +20,Delta,918,655,14,6 +22,Surrey,1354,957,14,6 +21,Pitt Meadows,2253,1591,14,6 +66,Haztic lake,1845,1288,14,6 +70,Maple Ridge,1769,1247,14,6 +69,White Rock,1319,943,14,6 +9,Kelowna,410,215,5,6 +59,Lake Country,385,191,5,6 +60,Peachland,335,172,5,6 +26,Grand Forks,510,250,13,6 +41,Campbell River,1605,1197,21,6 +69,White Rock,1319,943,14,7 +23,Prince George,556,262,11,7 +61,Kelowna,361,176,5,7 +49,McBride,591,294,11,7 +60,Peachland,335,172,5,7 +59,Lake Country,385,191,5,7 +9,Kelowna,410,215,5,7 +70,Maple Ridge,1769,1247,14,7 +15,Abbotsford,1876,1262,10,7 +67,Aldergrove,1600,1119,14,7 +66,Haztic lake,1845,1288,14,7 +21,Pitt Meadows,2253,1591,14,7 +22,Surrey,1354,957,14,7 +20,Delta,918,655,14,7 +18,Hope,2142,1473,10,7 +17,Chilliwack,1776,1230,10,7 +16,Agassiz,1755,1223,10,7 +19,Mission,1876,1262,10,7 +82,Powell River,1176,848,22,7 +68,Langley City,1453,1026,14,7 +11,Comox,1180,917,21,7 +39,Vavenby,474,221,20,7 +41,Campbell River,1605,1197,21,7 +89,Westwold,422,203,20,7 +88,Clinton,394,158,20,7 +87,Lytton,460,320,20,7 +86,Barriere,451,219,20,7 +52,Cache Creek,284,127,20,7 +37,Kamloops,279,118,20,7 +74,Trail,658,398,13,7 +38,Merritt,325,177,20,7 +85,Sechelt,1178,866,23,7 +84,Gibson,1459,1084,23,7 +78,Ft. Nelson,505,167,2,7 +53,Fort Nelson,491,171,2,7 +96,Galiano Island,974,734,21,7 +95,Pender Island,823,615,21,7 +94,Mayne Island,876,653,21,7 +93,Salt Spring Island,1010,779,21,7 +92,Parksville,1131,878,21,7 +91,Port Alberni,2186,1735,21,7 +90,Duncan,1191,954,21,7 +4,Saanichton,909,707,21,7 +40,Metchosin,1010,803,21,7 +27,Nanaimo,846,620,21,7 +75,Greenwood,498,270,13,7 +45,Anahim Lake,545,348,3,7 +72,Beaverdell,437,228,13,7 +31,Penticton,333,146,17,7 +32,Princeton,358,196,17,7 +30,Keremos,326,152,17,7 +64,Mica Creek,1039,726,6,7 +63,Sicamous,627,334,6,7 +62,Revelstoke,925,564,6,7 +10,Salmon Arm,668,364,6,7 +42,Golden,488,260,6,7 +77,Armstrong,472,241,16,7 +79,Summerland,325,157,17,7 +76,Cherryville,557,273,16,7 +50,Lumby,478,216,16,7 +83,Squamish,2154,1659,19,7 +35,Lillooet,369,219,19,7 +36,Pemberton,1060,783,19,7 +58,Nakusp,827,496,4,7 +57,Nelson,803,490,4,7 +56,Salmo,692,367,4,7 +7,Castlegar,754,427,4,7 +8,Creston,630,357,4,7 +29,Vernon,445,222,16,7 +80,Oliver,299,147,17,7 +81,Osoyoos,304,163,17,7 +51,Chetwynd,521,220,18,7 +71,Grand Forks,500,266,13,7 +26,Grand Forks,510,250,13,7 +24,Hazelton,747,362,12,7 +25,Terrace,1160,809,12,7 +55,Houston,440,231,1,7 +54,Burns Lake,509,277,1,7 +2,Smithers,512,267,1,7 +43,Grassy Plains,510,278,1,7 +1,Fort St. James,488,251,1,7 +3,Vanderhoof,496,244,1,7 +65,Sparwood,630,346,9,7 +48,Invermere,397,176,9,7 +47,Grasmere,430,191,9,7 +14,Fernie,1217,741,9,7 +13,Cranbrook,382,161,9,7 +46,Alexis Creek,338,149,3,7 +44,100 Mile house,475,208,3,7 +6,Williams Lake,450,194,3,7 +5,Quesnel,542,253,3,7 +33,Dawson Creek,482,160,18,7 +34,Fort St. John,466,150,18,7 +73,Rock Creek,379,180,13,7 +28,Enderby,480,253,16,7 +35,Lillooet,369,219,19,8 +77,Armstrong,472,241,16,8 +76,Cherryville,557,273,16,8 +42,Golden,488,260,6,8 +50,Lumby,478,216,16,8 +29,Vernon,445,222,16,8 +28,Enderby,480,253,16,8 +83,Squamish,2154,1659,19,8 +54,Burns Lake,509,277,1,8 +58,Nakusp,827,496,4,8 +57,Nelson,803,490,4,8 +56,Salmo,692,367,4,8 +7,Castlegar,754,427,4,8 +8,Creston,630,357,4,8 +55,Houston,440,231,1,8 +2,Smithers,512,267,1,8 +43,Grassy Plains,510,278,1,8 +1,Fort St. James,488,251,1,8 +10,Salmon Arm,668,364,6,8 +36,Pemberton,1060,783,19,8 +62,Revelstoke,925,564,6,8 +65,Sparwood,630,346,9,8 +64,Mica Creek,1039,726,6,8 +31,Penticton,333,146,17,8 +32,Princeton,358,196,17,8 +30,Keremos,326,152,17,8 +79,Summerland,325,157,17,8 +80,Oliver,299,147,17,8 +81,Osoyoos,304,163,17,8 +3,Vanderhoof,496,244,1,8 +48,Invermere,397,176,9,8 +47,Grasmere,430,191,9,8 +14,Fernie,1217,741,9,8 +13,Cranbrook,382,161,9,8 +45,Anahim Lake,545,348,3,8 +46,Alexis Creek,338,149,3,8 +44,100 Mile house,475,208,3,8 +6,Williams Lake,450,194,3,8 +5,Quesnel,542,253,3,8 +51,Chetwynd,521,220,18,8 +33,Dawson Creek,482,160,18,8 +34,Fort St. John,466,150,18,8 +24,Hazelton,747,362,12,8 +25,Terrace,1160,809,12,8 +63,Sicamous,627,334,6,8 +74,Trail,658,398,13,8 +61,Kelowna,361,176,5,8 +72,Beaverdell,437,228,13,8 +95,Pender Island,823,615,21,8 +94,Mayne Island,876,653,21,8 +93,Salt Spring Island,1010,779,21,8 +92,Parksville,1131,878,21,8 +91,Port Alberni,2186,1735,21,8 +90,Duncan,1191,954,21,8 +4,Saanichton,909,707,21,8 +40,Metchosin,1010,803,21,8 +27,Nanaimo,846,620,21,8 +96,Galiano Island,974,734,21,8 +78,Ft. Nelson,505,167,2,8 +84,Gibson,1459,1084,23,8 +39,Vavenby,474,221,20,8 +89,Westwold,422,203,20,8 +88,Clinton,394,158,20,8 +87,Lytton,460,320,20,8 +86,Barriere,451,219,20,8 +52,Cache Creek,284,127,20,8 +37,Kamloops,279,118,20,8 +38,Merritt,325,177,20,8 +85,Sechelt,1178,866,23,8 +41,Campbell River,1605,1197,21,8 +11,Comox,1180,917,21,8 +82,Powell River,1176,848,22,8 +71,Grand Forks,500,266,13,8 +26,Grand Forks,510,250,13,8 +73,Rock Creek,379,180,13,8 +15,Abbotsford,1876,1262,10,8 +18,Hope,2142,1473,10,8 +17,Chilliwack,1776,1230,10,8 +16,Agassiz,1755,1223,10,8 +19,Mission,1876,1262,10,8 +69,White Rock,1319,943,14,8 +70,Maple Ridge,1769,1247,14,8 +67,Aldergrove,1600,1119,14,8 +66,Haztic lake,1845,1288,14,8 +21,Pitt Meadows,2253,1591,14,8 +22,Surrey,1354,957,14,8 +20,Delta,918,655,14,8 +68,Langley City,1453,1026,14,8 +60,Peachland,335,172,5,8 +59,Lake Country,385,191,5,8 +9,Kelowna,410,215,5,8 +23,Prince George,556,262,11,8 +49,McBride,591,294,11,8 +75,Greenwood,498,270,13,8 +53,Fort Nelson,491,171,2,8 +95,Pender Island,823,615,21,9 +4,Saanichton,909,707,21,9 +90,Duncan,1191,954,21,9 +40,Metchosin,1010,803,21,9 +91,Port Alberni,2186,1735,21,9 +92,Parksville,1131,878,21,9 +93,Salt Spring Island,1010,779,21,9 +94,Mayne Island,876,653,21,9 +86,Barriere,451,219,20,9 +78,Ft. Nelson,505,167,2,9 +85,Sechelt,1178,866,23,9 +84,Gibson,1459,1084,23,9 +38,Merritt,325,177,20,9 +37,Kamloops,279,118,20,9 +52,Cache Creek,284,127,20,9 +87,Lytton,460,320,20,9 +88,Clinton,394,158,20,9 +89,Westwold,422,203,20,9 +27,Nanaimo,846,620,21,9 +53,Fort Nelson,491,171,2,9 +96,Galiano Island,974,734,21,9 +67,Aldergrove,1600,1119,14,9 +11,Comox,1180,917,21,9 +82,Powell River,1176,848,22,9 +68,Langley City,1453,1026,14,9 +20,Delta,918,655,14,9 +22,Surrey,1354,957,14,9 +21,Pitt Meadows,2253,1591,14,9 +66,Haztic lake,1845,1288,14,9 +39,Vavenby,474,221,20,9 +70,Maple Ridge,1769,1247,14,9 +69,White Rock,1319,943,14,9 +9,Kelowna,410,215,5,9 +59,Lake Country,385,191,5,9 +60,Peachland,335,172,5,9 +61,Kelowna,361,176,5,9 +49,McBride,591,294,11,9 +23,Prince George,556,262,11,9 +75,Greenwood,498,270,13,9 +73,Rock Creek,379,180,13,9 +26,Grand Forks,510,250,13,9 +71,Grand Forks,500,266,13,9 +72,Beaverdell,437,228,13,9 +74,Trail,658,398,13,9 +41,Campbell River,1605,1197,21,9 +19,Mission,1876,1262,10,9 +28,Enderby,480,253,16,9 +17,Chilliwack,1776,1230,10,9 +25,Terrace,1160,809,12,9 +24,Hazelton,747,362,12,9 +34,Fort St. John,466,150,18,9 +33,Dawson Creek,482,160,18,9 +51,Chetwynd,521,220,18,9 +5,Quesnel,542,253,3,9 +6,Williams Lake,450,194,3,9 +44,100 Mile house,475,208,3,9 +46,Alexis Creek,338,149,3,9 +42,Golden,488,260,6,9 +45,Anahim Lake,545,348,3,9 +47,Grasmere,430,191,9,9 +48,Invermere,397,176,9,9 +65,Sparwood,630,346,9,9 +81,Osoyoos,304,163,17,9 +80,Oliver,299,147,17,9 +79,Summerland,325,157,17,9 +30,Keremos,326,152,17,9 +32,Princeton,358,196,17,9 +31,Penticton,333,146,17,9 +14,Fernie,1217,741,9,9 +10,Salmon Arm,668,364,6,9 +62,Revelstoke,925,564,6,9 +64,Mica Creek,1039,726,6,9 +18,Hope,2142,1473,10,9 +15,Abbotsford,1876,1262,10,9 +3,Vanderhoof,496,244,1,9 +1,Fort St. James,488,251,1,9 +43,Grassy Plains,510,278,1,9 +2,Smithers,512,267,1,9 +55,Houston,440,231,1,9 +54,Burns Lake,509,277,1,9 +8,Creston,630,357,4,9 +7,Castlegar,754,427,4,9 +56,Salmo,692,367,4,9 +57,Nelson,803,490,4,9 +58,Nakusp,827,496,4,9 +36,Pemberton,1060,783,19,9 +83,Squamish,2154,1659,19,9 +35,Lillooet,369,219,19,9 +29,Vernon,445,222,16,9 +50,Lumby,478,216,16,9 +76,Cherryville,557,273,16,9 +77,Armstrong,472,241,16,9 +63,Sicamous,627,334,6,9 +16,Agassiz,1755,1223,10,9 +13,Cranbrook,382,161,9,9 +48,Invermere,397,176,9,10 +44,100 Mile house,475,208,3,10 +6,Williams Lake,450,194,3,10 +46,Alexis Creek,338,149,3,10 +5,Quesnel,542,253,3,10 +13,Cranbrook,382,161,9,10 +14,Fernie,1217,741,9,10 +65,Sparwood,630,346,9,10 +58,Nakusp,827,496,4,10 +31,Penticton,333,146,17,10 +32,Princeton,358,196,17,10 +30,Keremos,326,152,17,10 +79,Summerland,325,157,17,10 +80,Oliver,299,147,17,10 +81,Osoyoos,304,163,17,10 +57,Nelson,803,490,4,10 +56,Salmo,692,367,4,10 +7,Castlegar,754,427,4,10 +45,Anahim Lake,545,348,3,10 +47,Grasmere,430,191,9,10 +34,Fort St. John,466,150,18,10 +76,Cherryville,557,273,16,10 +51,Chetwynd,521,220,18,10 +24,Hazelton,747,362,12,10 +25,Terrace,1160,809,12,10 +35,Lillooet,369,219,19,10 +83,Squamish,2154,1659,19,10 +36,Pemberton,1060,783,19,10 +77,Armstrong,472,241,16,10 +8,Creston,630,357,4,10 +50,Lumby,478,216,16,10 +29,Vernon,445,222,16,10 +28,Enderby,480,253,16,10 +63,Sicamous,627,334,6,10 +64,Mica Creek,1039,726,6,10 +62,Revelstoke,925,564,6,10 +10,Salmon Arm,668,364,6,10 +42,Golden,488,260,6,10 +54,Burns Lake,509,277,1,10 +55,Houston,440,231,1,10 +2,Smithers,512,267,1,10 +43,Grassy Plains,510,278,1,10 +1,Fort St. James,488,251,1,10 +3,Vanderhoof,496,244,1,10 +33,Dawson Creek,482,160,18,10 +16,Agassiz,1755,1223,10,10 +96,Galiano Island,974,734,21,10 +18,Hope,2142,1473,10,10 +74,Trail,658,398,13,10 +72,Beaverdell,437,228,13,10 +71,Grand Forks,500,266,13,10 +26,Grand Forks,510,250,13,10 +73,Rock Creek,379,180,13,10 +75,Greenwood,498,270,13,10 +23,Prince George,556,262,11,10 +49,McBride,591,294,11,10 +61,Kelowna,361,176,5,10 +95,Pender Island,823,615,21,10 +60,Peachland,335,172,5,10 +69,White Rock,1319,943,14,10 +70,Maple Ridge,1769,1247,14,10 +66,Haztic lake,1845,1288,14,10 +21,Pitt Meadows,2253,1591,14,10 +22,Surrey,1354,957,14,10 +20,Delta,918,655,14,10 +68,Langley City,1453,1026,14,10 +67,Aldergrove,1600,1119,14,10 +82,Powell River,1176,848,22,10 +9,Kelowna,410,215,5,10 +4,Saanichton,909,707,21,10 +90,Duncan,1191,954,21,10 +40,Metchosin,1010,803,21,10 +17,Chilliwack,1776,1230,10,10 +19,Mission,1876,1262,10,10 +39,Vavenby,474,221,20,10 +89,Westwold,422,203,20,10 +88,Clinton,394,158,20,10 +87,Lytton,460,320,20,10 +52,Cache Creek,284,127,20,10 +37,Kamloops,279,118,20,10 +38,Merritt,325,177,20,10 +86,Barriere,451,219,20,10 +84,Gibson,1459,1084,23,10 +85,Sechelt,1178,866,23,10 +53,Fort Nelson,491,171,2,10 +78,Ft. Nelson,505,167,2,10 +41,Campbell River,1605,1197,21,10 +11,Comox,1180,917,21,10 +27,Nanaimo,846,620,21,10 +94,Mayne Island,876,653,21,10 +93,Salt Spring Island,1010,779,21,10 +92,Parksville,1131,878,21,10 +91,Port Alberni,2186,1735,21,10 +15,Abbotsford,1876,1262,10,10 +59,Lake Country,385,191,5,10 +32,Princeton,358,196,17,12 +51,Chetwynd,521,220,18,12 +34,Fort St. John,466,150,18,12 +35,Lillooet,369,219,19,12 +33,Dawson Creek,482,160,18,12 +81,Osoyoos,304,163,17,12 +80,Oliver,299,147,17,12 +79,Summerland,325,157,17,12 +70,Maple Ridge,1769,1247,14,12 +30,Keremos,326,152,17,12 +77,Armstrong,472,241,16,12 +76,Cherryville,557,273,16,12 +50,Lumby,478,216,16,12 +29,Vernon,445,222,16,12 +28,Enderby,480,253,16,12 +69,White Rock,1319,943,14,12 +68,Langley City,1453,1026,14,12 +67,Aldergrove,1600,1119,14,12 +36,Pemberton,1060,783,19,12 +31,Penticton,333,146,17,12 +83,Squamish,2154,1659,19,12 +93,Salt Spring Island,1010,779,21,12 +38,Merritt,325,177,20,12 +85,Sechelt,1178,866,23,12 +84,Gibson,1459,1084,23,12 +82,Powell River,1176,848,22,12 +96,Galiano Island,974,734,21,12 +95,Pender Island,823,615,21,12 +94,Mayne Island,876,653,21,12 +66,Haztic lake,1845,1288,14,12 +92,Parksville,1131,878,21,12 +91,Port Alberni,2186,1735,21,12 +90,Duncan,1191,954,21,12 +41,Campbell River,1605,1197,21,12 +40,Metchosin,1010,803,21,12 +27,Nanaimo,846,620,21,12 +11,Comox,1180,917,21,12 +4,Saanichton,909,707,21,12 +89,Westwold,422,203,20,12 +88,Clinton,394,158,20,12 +87,Lytton,460,320,20,12 +86,Barriere,451,219,20,12 +52,Cache Creek,284,127,20,12 +39,Vavenby,474,221,20,12 +37,Kamloops,279,118,20,12 +22,Surrey,1354,957,14,12 +48,Invermere,397,176,9,12 +20,Delta,918,655,14,12 +60,Peachland,335,172,5,12 +59,Lake Country,385,191,5,12 +9,Kelowna,410,215,5,12 +58,Nakusp,827,496,4,12 +57,Nelson,803,490,4,12 +56,Salmo,692,367,4,12 +8,Creston,630,357,4,12 +7,Castlegar,754,427,4,12 +46,Alexis Creek,338,149,3,12 +61,Kelowna,361,176,5,12 +45,Anahim Lake,545,348,3,12 +5,Quesnel,542,253,3,12 +78,Ft. Nelson,505,167,2,12 +53,Fort Nelson,491,171,2,12 +55,Houston,440,231,1,12 +54,Burns Lake,509,277,1,12 +43,Grassy Plains,510,278,1,12 +3,Vanderhoof,496,244,1,12 +2,Smithers,512,267,1,12 +1,Fort St. James,488,251,1,12 +6,Williams Lake,450,194,3,12 +10,Salmon Arm,668,364,6,12 +42,Golden,488,260,6,12 +62,Revelstoke,925,564,6,12 +75,Greenwood,498,270,13,12 +74,Trail,658,398,13,12 +73,Rock Creek,379,180,13,12 +72,Beaverdell,437,228,13,12 +71,Grand Forks,500,266,13,12 +26,Grand Forks,510,250,13,12 +25,Terrace,1160,809,12,12 +24,Hazelton,747,362,12,12 +49,McBride,591,294,11,12 +23,Prince George,556,262,11,12 +19,Mission,1876,1262,10,12 +18,Hope,2142,1473,10,12 +17,Chilliwack,1776,1230,10,12 +16,Agassiz,1755,1223,10,12 +15,Abbotsford,1876,1262,10,12 +65,Sparwood,630,346,9,12 +47,Grasmere,430,191,9,12 +14,Fernie,1217,741,9,12 +13,Cranbrook,382,161,9,12 +64,Mica Creek,1039,726,6,12 +63,Sicamous,627,334,6,12 +21,Pitt Meadows,2253,1591,14,12 +44,100 Mile house,475,208,3,12 +1,Fort St. James,488,251,1,13 +2,Smithers,512,267,1,13 +3,Vanderhoof,496,244,1,13 +4,Saanichton,909,707,21,13 +5,Quesnel,542,253,3,13 +6,Williams Lake,450,194,3,13 +7,Castlegar,754,427,4,13 +8,Creston,630,357,4,13 +9,Kelowna,410,215,5,13 +10,Salmon Arm,668,364,6,13 +11,Comox,1180,917,21,13 +13,Cranbrook,382,161,9,13 +14,Fernie,1217,741,9,13 +15,Abbotsford,1876,1262,10,13 +16,Agassiz,1755,1223,10,13 +17,Chilliwack,1776,1230,10,13 +18,Hope,2142,1473,10,13 +19,Mission,1876,1262,10,13 +20,Delta,918,655,14,13 +21,Pitt Meadows,2253,1591,14,13 +22,Surrey,1354,957,14,13 +23,Prince George,556,262,11,13 +24,Hazelton,747,362,12,13 +25,Terrace,1160,809,12,13 +26,Grand Forks,510,250,13,13 +27,Nanaimo,846,620,21,13 +28,Enderby,480,253,16,13 +29,Vernon,445,222,16,13 +30,Keremos,326,152,17,13 +31,Penticton,333,146,17,13 +32,Princeton,358,196,17,13 +33,Dawson Creek,482,160,18,13 +34,Fort St. John,466,150,18,13 +35,Lillooet,369,219,19,13 +36,Pemberton,1060,783,19,13 +37,Kamloops,279,118,20,13 +38,Merritt,325,177,20,13 +39,Vavenby,474,221,20,13 +40,Metchosin,1010,803,21,13 +41,Campbell River,1605,1197,21,13 +42,Golden,488,260,6,13 +43,Grassy Plains,510,278,1,13 +44,100 Mile house,475,208,3,13 +45,Anahim Lake,545,348,3,13 +46,Alexis Creek,338,149,3,13 +47,Grasmere,430,191,9,13 +48,Invermere,397,176,9,13 +49,McBride,591,294,11,13 +50,Lumby,478,216,16,13 +51,Chetwynd,521,220,18,13 +52,Cache Creek,284,127,20,13 +53,Fort Nelson,491,171,2,13 +54,Burns Lake,509,277,1,13 +55,Houston,440,231,1,13 +56,Salmo,692,367,4,13 +57,Nelson,803,490,4,13 +58,Nakusp,827,496,4,13 +59,Lake Country,385,191,5,13 +60,Peachland,335,172,5,13 +61,Kelowna,361,176,5,13 +62,Revelstoke,925,564,6,13 +63,Sicamous,627,334,6,13 +64,Mica Creek,1039,726,6,13 +65,Sparwood,630,346,9,13 +66,Haztic lake,1845,1288,14,13 +67,Aldergrove,1600,1119,14,13 +68,Langley City,1453,1026,14,13 +69,White Rock,1319,943,14,13 +70,Maple Ridge,1769,1247,14,13 +71,Grand Forks,500,266,13,13 +72,Beaverdell,437,228,13,13 +73,Rock Creek,379,180,13,13 +74,Trail,658,398,13,13 +75,Greenwood,498,270,13,13 +76,Cherryville,557,273,16,13 +77,Armstrong,472,241,16,13 +78,Ft. Nelson,505,167,2,13 +79,Summerland,325,157,17,13 +80,Oliver,299,147,17,13 +81,Osoyoos,304,163,17,13 +82,Powell River,1176,848,22,13 +83,Squamish,2154,1659,19,13 +84,Gibson,1459,1084,23,13 +85,Sechelt,1178,866,23,13 +86,Barriere,451,219,20,13 +87,Lytton,460,320,20,13 +88,Clinton,394,158,20,13 +89,Westwold,422,203,20,13 +90,Duncan,1191,954,21,13 +91,Port Alberni,2186,1735,21,13 +92,Parksville,1131,878,21,13 +93,Salt Spring Island,1010,779,21,13 +94,Mayne Island,876,653,21,13 +95,Pender Island,823,615,21,13 +96,Galiano Island,974,734,21,13 +1,Fort St. James,488,251,1,14 +2,Smithers,512,267,1,14 +3,Vanderhoof,496,244,1,14 +4,Saanichton,909,707,21,14 +5,Quesnel,542,253,3,14 +6,Williams Lake,450,194,3,14 +7,Castlegar,754,427,4,14 +8,Creston,630,357,4,14 +9,Kelowna,410,215,5,14 +10,Salmon Arm,668,364,6,14 +11,Comox,1180,917,21,14 +13,Cranbrook,382,161,9,14 +14,Fernie,1217,741,9,14 +15,Abbotsford,1876,1262,10,14 +16,Agassiz,1755,1223,10,14 +17,Chilliwack,1776,1230,10,14 +18,Hope,2142,1473,10,14 +19,Mission,1876,1262,10,14 +20,Delta,918,655,14,14 +21,Pitt Meadows,2253,1591,14,14 +22,Surrey,1354,957,14,14 +23,Prince George,556,262,11,14 +24,Hazelton,747,362,12,14 +25,Terrace,1160,809,12,14 +26,Grand Forks,510,250,13,14 +27,Nanaimo,846,620,21,14 +28,Enderby,480,253,16,14 +29,Vernon,445,222,16,14 +30,Keremos,326,152,17,14 +31,Penticton,333,146,17,14 +32,Princeton,358,196,17,14 +33,Dawson Creek,482,160,18,14 +34,Fort St. John,466,150,18,14 +35,Lillooet,369,219,19,14 +36,Pemberton,1060,783,19,14 +37,Kamloops,279,118,20,14 +38,Merritt,325,177,20,14 +39,Vavenby,474,221,20,14 +40,Metchosin,1010,803,21,14 +41,Campbell River,1605,1197,21,14 +42,Golden,488,260,6,14 +43,Grassy Plains,510,278,1,14 +44,100 Mile house,475,208,3,14 +45,Anahim Lake,545,348,3,14 +46,Alexis Creek,338,149,3,14 +47,Grasmere,430,191,9,14 +48,Invermere,397,176,9,14 +49,McBride,591,294,11,14 +50,Lumby,478,216,16,14 +51,Chetwynd,521,220,18,14 +52,Cache Creek,284,127,20,14 +53,Fort Nelson,491,171,2,14 +54,Burns Lake,509,277,1,14 +55,Houston,440,231,1,14 +56,Salmo,692,367,4,14 +57,Nelson,803,490,4,14 +58,Nakusp,827,496,4,14 +59,Lake Country,385,191,5,14 +60,Peachland,335,172,5,14 +61,Kelowna,361,176,5,14 +62,Revelstoke,925,564,6,14 +63,Sicamous,627,334,6,14 +64,Mica Creek,1039,726,6,14 +65,Sparwood,630,346,9,14 +66,Haztic lake,1845,1288,14,14 +67,Aldergrove,1600,1119,14,14 +68,Langley City,1453,1026,14,14 +69,White Rock,1319,943,14,14 +70,Maple Ridge,1769,1247,14,14 +71,Grand Forks,500,266,13,14 +72,Beaverdell,437,228,13,14 +73,Rock Creek,379,180,13,14 +74,Trail,658,398,13,14 +75,Greenwood,498,270,13,14 +76,Cherryville,557,273,16,14 +77,Armstrong,472,241,16,14 +78,Ft. Nelson,505,167,2,14 +79,Summerland,325,157,17,14 +80,Oliver,299,147,17,14 +81,Osoyoos,304,163,17,14 +82,Powell River,1176,848,22,14 +83,Squamish,2154,1659,19,14 +84,Gibson,1459,1084,23,14 +85,Sechelt,1178,866,23,14 +86,Barriere,451,219,20,14 +87,Lytton,460,320,20,14 +88,Clinton,394,158,20,14 +89,Westwold,422,203,20,14 +90,Duncan,1191,954,21,14 +91,Port Alberni,2186,1735,21,14 +92,Parksville,1131,878,21,14 +93,Salt Spring Island,1010,779,21,14 +94,Mayne Island,876,653,21,14 +95,Pender Island,823,615,21,14 +96,Galiano Island,974,734,21,14 diff --git a/database/db/seed_tables/_SubRegion/init_subregion.sql b/database/db/seed_tables/_SubRegion/init_subregion.sql new file mode 100644 index 00000000..e17ea49e --- /dev/null +++ b/database/db/seed_tables/_SubRegion/init_subregion.sql @@ -0,0 +1,15 @@ +CREATE TABLE IF NOT EXISTS temp_subregions ( + Id INT NOT NULL, + Name VARCHAR(100) NOT NULL, + AnnualPrecipitation INT NOT NULL, + AnnualPrecipitationOctToMar INT NOT NULL, + RegionId INT NOT NULL, + StaticDataVersionId INT NOT NULL, + PRIMARY KEY (Id, StaticDataVersionId) +); +\copy temp_subregions (Id, Name, AnnualPrecipitation, AnnualPrecipitationOctToMar, RegionId, StaticDataVersionId) from 'docker-entrypoint-initdb.d/_SubRegion__20241212.csv' with header delimiter ',' CSV ; +SELECT * INTO subregion +FROM temp_subregions +WHERE StaticDataVersionId=14; +ALTER TABLE subregion +DROP COLUMN StaticDataVersionId; diff --git a/database/db/trimmed_tables/_AnimalSubType/_AnimalSubType_202501271401.csv b/database/db/trimmed_tables/_AnimalSubType/_AnimalSubType_202501271401.csv new file mode 100644 index 00000000..86bc06c0 --- /dev/null +++ b/database/db/trimmed_tables/_AnimalSubType/_AnimalSubType_202501271401.csv @@ -0,0 +1,35 @@ +"id","name","liquidpergalperanimalperday","solidpergalperanimalperday","solidperpoundperanimalperday","solidliquidseparationpercentage","washwater","milkproduction","animalid","sortorder" +1,"Cows (1300 lb), including Calves",0.0,8.983,60.046,0,0.0,0.0,1,0 +2,Backgrounding to Grass (400-600 lb),0.0,3.358,24.29,0,0.0,0.0,1,0 +3,Backgrounding to Feedlot (400-850 lb),0.0,3.985,28.616,0,0.0,0.0,1,0 +4,Calves (0 to 3 months old),1.849,2.906,15.541,10,0.0,0.0,2,6 +5,Calves (3 to 6 months old),3.699,5.812,31.082,10,0.0,0.0,2,5 +6,Heifers (6 to 15 months old),7.398,11.625,71.49,10,0.0,0.0,2,4 +7,Heifers (15 to 26 months old),12.946,20.079,123.482,10,0.0,0.0,2,3 +8,Dry Cow,18.494,28.534,205.992,10,0.0,0.0,2,2 +9,Milking Cow,19.815,30.647,221.251,10,5.0,72.3,2,1 +10,Ducks,0.0,0.04,0.141,0,0.0,0.0,6,0 +11,Goats,0.0,0.687,4.592,0,0.0,0.0,4,0 +12,Horse,0.0,14.954,78.002,0,0.0,0.0,5,0 +13,Pullets - Cage Housing,0.144,0.01,0.072,0,0.0,0.0,6,0 +14,Pullets - Floor Housing,0.288,0.016,0.054,0,0.0,0.0,6,0 +15,Layer,0.24,0.034,0.143,0,0.0,0.0,6,0 +16,Broiler Breeder Layer- Cage Housing,0.252,0.037,0.147,0,0.0,0.0,6,0 +17,Broiler Breeder Layer- Floor Housing,0.252,0.048,0.188,0,0.0,0.0,6,0 +18,Broiler Breeder Pullets,0.288,0.02,0.071,0,0.0,0.0,6,0 +19,Broiler Chicken (6.5 cycles),0.259,0.0172,0.0663,0,0.0,0.0,6,0 +20,Roaster Chicken,0.259,0.024,0.092,0,0.0,0.0,6,0 +21,Turkey Broiler,0.306,0.077,0.25,0,0.0,0.0,6,0 +22,Turkey Heavy Hen,0.306,0.108,0.354,0,0.0,0.0,6,0 +23,Turkey Heavy Tom,0.306,0.124,0.406,0,0.0,0.0,6,0 +24,Doe and Litter,0.0,0.188,1.003,0,0.0,0.0,7,0 +25, Ewe or Ram,0.0,1.11,6.676,0,0.0,0.0,8,0 +26,"Dry Sow, Boar, or Gilts",4.174,3.593,19.215,0,0.0,0.0,9,0 +27,Nursing Sow and Litter,6.209,0.0,0.0,0,0.0,0.0,9,0 +28,Nursery,0.661,0.0,0.0,0,0.0,0.0,9,0 +29,Grower,1.664,0.0,0.0,0,0.0,0.0,9,0 +30,Finisher,3.17,0.0,0.0,0,0.0,0.0,9,0 +31,Grower Finisher,2.668,0.0,0.0,0,0.0,0.0,9,0 +33,Finishing: Yearlings (850-1400 lb),0.0,7.477,50.0,0,0.0,0.0,1,0 +34,Finishing: Feeders (550-1250 lb),0.0,5.688,41.032,0,0.0,0.0,1,0 +35,Finishing: Short Keep (900-300 lb),0.0,7.47,54.0,0,0.0,0.0,1,0 diff --git a/database/db/trimmed_tables/_AnimalSubType/init_animal_subtype.sql b/database/db/trimmed_tables/_AnimalSubType/init_animal_subtype.sql new file mode 100644 index 00000000..91b48672 --- /dev/null +++ b/database/db/trimmed_tables/_AnimalSubType/init_animal_subtype.sql @@ -0,0 +1,13 @@ +CREATE TABLE IF NOT EXISTS animal_subtype ( + Id INT PRIMARY KEY, + Name VARCHAR(100) NOT NULL, + LiquidPerGalPerAnimalPerDay FLOAT NOT NULL, + SolidPerGalPerAnimalPerDay FLOAT NOT NULL, + SolidPerPoundPerAnimalPerDay FLOAT NOT NULL, + SolidLiquidSeparationPercentage INT NOT NULL, + WashWater FLOAT NOT NULL, + MilkProduction FLOAT NOT NULL, + AnimalId INT NOT NULL, + SortOrder INT NOT NULL +); +\copy animal_subtype (Id, Name, LiquidPerGalPerAnimalPerDay, SolidPerGalPerAnimalPerDay, SolidPerPoundPerAnimalPerDay, SolidLiquidSeparationPercentage, WashWater, MilkProduction, AnimalId, SortOrder) from 'docker-entrypoint-initdb.d/_AnimalSubType_202501271401.csv' with header delimiter ',' CSV ; diff --git a/database/db/trimmed_tables/_Regions/_Regions_202501271401.csv b/database/db/trimmed_tables/_Regions/_Regions_202501271401.csv new file mode 100644 index 00000000..368affed --- /dev/null +++ b/database/db/trimmed_tables/_Regions/_Regions_202501271401.csv @@ -0,0 +1,21 @@ +"id","name","soiltestphosphorousregioncd","soiltestpotassiumregioncd","locationid","sortorder" +1,Bulkley-Nechako,2,3,1,1 +2,Northern Rockies,3,3,1,21 +3,Cariboo,1,2,1,2 +4,Central Kootenay,1,2,1,4 +5,Central Okanagan,1,2,1,12 +6,Columbia Shuswap,1,2,1,3 +9,East Kootenay,1,2,1,6 +10,"Fraser Valley, East (including Abbotsford/Mission)",1,1,2,8 +11,Fraser-Fort George,2,3,1,10 +12,Kitimat-Stikine,2,3,1,11 +13,Kootenay Boundary,1,2,1,7 +14,"Fraser Valley, West (Delta to Langley/Maple Ridge)",1,1,2,9 +16,North Okanagan,1,2,1,13 +17,Okanagan-Similkameen,1,2,1,14 +18,Peace River,3,3,1,15 +19,Squamish-Lilloeet,1,2,2,16 +20,Thompson-Nicola,1,2,1,19 +21,Vancouver Island,1,1,2,20 +22,Powell River / qathet Region,1,1,2,17 +23,Sunshine Coast,1,1,2,18 diff --git a/database/db/trimmed_tables/_Regions/init_regions.sql b/database/db/trimmed_tables/_Regions/init_regions.sql new file mode 100644 index 00000000..1eb87ded --- /dev/null +++ b/database/db/trimmed_tables/_Regions/init_regions.sql @@ -0,0 +1,9 @@ +CREATE TABLE IF NOT EXISTS regions ( + Id INT PRIMARY KEY, + Name VARCHAR(100) NOT NULL, + SoilTestPhosphorousRegionCd INT NOT NULL, + SoilTestPotassiumRegionCd INT NOT NULL, + LocationId INT NOT NULL, + SortOrder INT NOT NULL +); +\copy regions (Id, Name, SoilTestPhosphorousRegionCd, SoilTestPotassiumRegionCd, LocationId, SortOrder) from 'docker-entrypoint-initdb.d/_Regions_202501271401.csv' with header delimiter ',' CSV ; diff --git a/database/db/trimmed_tables/_SubRegion/_SubRegion_202501271402.csv b/database/db/trimmed_tables/_SubRegion/_SubRegion_202501271402.csv new file mode 100644 index 00000000..9bdc337b --- /dev/null +++ b/database/db/trimmed_tables/_SubRegion/_SubRegion_202501271402.csv @@ -0,0 +1,96 @@ +"id","name","annualprecipitation","annualprecipitationocttomar","regionid" +1,Fort St. James,488,251,1 +2,Smithers,512,267,1 +3,Vanderhoof,496,244,1 +4,Saanichton,909,707,21 +5,Quesnel,542,253,3 +6,Williams Lake,450,194,3 +7,Castlegar,754,427,4 +8,Creston,630,357,4 +9,Kelowna,410,215,5 +10,Salmon Arm,668,364,6 +11,Comox,1180,917,21 +13,Cranbrook,382,161,9 +14,Fernie,1217,741,9 +15,Abbotsford,1876,1262,10 +16,Agassiz,1755,1223,10 +17,Chilliwack,1776,1230,10 +18,Hope,2142,1473,10 +19,Mission,1876,1262,10 +20,Delta,918,655,14 +21,Pitt Meadows,2253,1591,14 +22,Surrey,1354,957,14 +23,Prince George,556,262,11 +24,Hazelton,747,362,12 +25,Terrace,1160,809,12 +26,Grand Forks,510,250,13 +27,Nanaimo,846,620,21 +28,Enderby,480,253,16 +29,Vernon,445,222,16 +30,Keremos,326,152,17 +31,Penticton,333,146,17 +32,Princeton,358,196,17 +33,Dawson Creek,482,160,18 +34,Fort St. John,466,150,18 +35,Lillooet,369,219,19 +36,Pemberton,1060,783,19 +37,Kamloops,279,118,20 +38,Merritt,325,177,20 +39,Vavenby,474,221,20 +40,Metchosin,1010,803,21 +41,Campbell River,1605,1197,21 +42,Golden,488,260,6 +43,Grassy Plains,510,278,1 +44,"100 Mile house",475,208,3 +45,Anahim Lake,545,348,3 +46,Alexis Creek,338,149,3 +47,Grasmere,430,191,9 +48,Invermere,397,176,9 +49,McBride,591,294,11 +50,Lumby,478,216,16 +51,Chetwynd,521,220,18 +52,Cache Creek,284,127,20 +53,Fort Nelson,491,171,2 +54,Burns Lake,509,277,1 +55,Houston,440,231,1 +56,Salmo,692,367,4 +57,Nelson,803,490,4 +58,Nakusp,827,496,4 +59,Lake Country,385,191,5 +60,Peachland,335,172,5 +61,Kelowna,361,176,5 +62,Revelstoke,925,564,6 +63,Sicamous,627,334,6 +64,Mica Creek,1039,726,6 +65,Sparwood,630,346,9 +66,Haztic lake,1845,1288,14 +67,Aldergrove,1600,1119,14 +68,Langley City,1453,1026,14 +69,White Rock,1319,943,14 +70,Maple Ridge,1769,1247,14 +71,Grand Forks,500,266,13 +72,Beaverdell,437,228,13 +73,Rock Creek,379,180,13 +74,Trail,658,398,13 +75,Greenwood,498,270,13 +76,Cherryville,557,273,16 +77,Armstrong,472,241,16 +78,Ft. Nelson,505,167,2 +79,Summerland,325,157,17 +80,Oliver,299,147,17 +81,Osoyoos,304,163,17 +82,Powell River,1176,848,22 +83,Squamish,2154,1659,19 +84,Gibson,1459,1084,23 +85,Sechelt,1178,866,23 +86,Barriere,451,219,20 +87,Lytton,460,320,20 +88,Clinton,394,158,20 +89,Westwold,422,203,20 +90,Duncan,1191,954,21 +91,Port Alberni,2186,1735,21 +92,Parksville,1131,878,21 +93,Salt Spring Island,1010,779,21 +94,Mayne Island,876,653,21 +95,Pender Island,823,615,21 +96,Galiano Island,974,734,21 diff --git a/database/db/trimmed_tables/_SubRegion/init_subregion.sql b/database/db/trimmed_tables/_SubRegion/init_subregion.sql new file mode 100644 index 00000000..3244fab8 --- /dev/null +++ b/database/db/trimmed_tables/_SubRegion/init_subregion.sql @@ -0,0 +1,8 @@ +CREATE TABLE IF NOT EXISTS subregion ( + Id INT PRIMARY KEY, + Name VARCHAR(100) NOT NULL, + AnnualPrecipitation INT NOT NULL, + AnnualPrecipitationOctToMar INT NOT NULL, + RegionId INT NOT NULL +); +\copy subregion (Id, Name, AnnualPrecipitation, AnnualPrecipitationOctToMar, RegionId) from 'docker-entrypoint-initdb.d/_SubRegion_202501271402.csv' with header delimiter ',' CSV ; diff --git a/frontend/src/TempData/RegionOptions.ts b/frontend/src/TempData/RegionOptions.ts deleted file mode 100644 index 415d7c40..00000000 --- a/frontend/src/TempData/RegionOptions.ts +++ /dev/null @@ -1,8 +0,0 @@ -const RegionOptions = [ - { value: 0, label: 'Select a region' }, - { value: 1, label: 'Bulkley-Nechako' }, - { value: 2, label: 'Cariboo' }, - { value: 3, label: 'Columbia Shuswap' }, -]; - -export default RegionOptions; diff --git a/frontend/src/views/FarmInformation/FarmInformation.tsx b/frontend/src/views/FarmInformation/FarmInformation.tsx index 71946043..c4b28c51 100644 --- a/frontend/src/views/FarmInformation/FarmInformation.tsx +++ b/frontend/src/views/FarmInformation/FarmInformation.tsx @@ -6,7 +6,6 @@ import { useNavigate } from 'react-router-dom'; import useAppService from '@/services/app/useAppService'; import NMPFile from '@/types/NMPFile'; import defaultNMPFile from '../../constants/DefaultNMPFile'; -import RegionOptions from '../../TempData/RegionOptions'; import { CardHeader, Banner, @@ -26,12 +25,15 @@ export default function FarmInformation() { const apiCache = useContext(APICacheContext); const [rawAnimalNames, setRawAnimalNames] = useState([]); + const [regionOptions, setRegionOptions] = useState<{ value: number; label: string }[]>([]); + const [subregionOptions, setSubregionOptions] = useState<{ value: number; label: string }[]>([]); // Initialize non-bool values to prevent errors on first render const [formData, setFormData] = useState<{ [name: string]: any }>({ Year: '', FarmName: '', FarmRegion: 0, + FarmSubRegion: null, }); // Flagging for potential issues if the state.nmpFile object can change @@ -47,11 +49,11 @@ export default function FarmInformation() { Year: parsedData.farmDetails.Year || '', FarmName: parsedData.farmDetails.FarmName || '', FarmRegion: parsedData.farmDetails.FarmRegion || 0, + FarmSubRegion: parsedData.farmDetails.FarmSubRegion || null, HasAnimals: parsedData.farmDetails.HasAnimals || false, HasDairyCows: parsedData.farmDetails.HasDairyCows || false, HasBeefCows: parsedData.farmDetails.HasBeefCows || false, HasPoultry: parsedData.farmDetails.HasPoultry || false, - Animals: [], HasVegetables: parsedData.farmDetails.HasVegetables || false, HasBerries: parsedData.farmDetails.HasBerries || false, Crops: parsedData.farmDetails.HasHorticulturalCrops.toString() || 'false', @@ -71,9 +73,31 @@ export default function FarmInformation() { setRawAnimalNames(animalArray); } }); + apiCache.callEndpoint('api/regions/').then((response) => { + const { data } = response; + const regions: { value: number; label: string }[] = ( + data as { id: number; name: string }[] + ).map((row) => ({ value: row.id, label: row.name })); + setRegionOptions(regions); + }); // eslint-disable-next-line react-hooks/exhaustive-deps }, []); + useEffect(() => { + const region = formData.FarmRegion; + if (region === 0) { + setSubregionOptions([]); + return; + } + apiCache.callEndpoint(`api/subregions/${region}/`).then((response) => { + const { data } = response; + const subregions: { value: number; label: string }[] = ( + data as { id: number; name: string }[] + ).map((row) => ({ value: row.id, label: row.name })); + setSubregionOptions(subregions); + }); + }, [formData.FarmRegion, apiCache]); + const handleChange = useCallback( (e: React.ChangeEvent) => { const { name, value, type, checked } = e.target as HTMLInputElement; @@ -168,7 +192,17 @@ export default function FarmInformation() { label="Region" name="FarmRegion" value={formData.FarmRegion} - options={RegionOptions} + options={regionOptions} + onChange={handleChange} + flex="0.35" + /> + + +