@foodmarketmaker/mapag 0.0.16 → 0.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -14664,6 +14664,529 @@ class CensusTractMapper {
|
|
|
14664
14664
|
};
|
|
14665
14665
|
}
|
|
14666
14666
|
|
|
14667
|
+
class CroplandDataLayerMapper {
|
|
14668
|
+
static PMTILES = 'pmtiles://https://foodmarketmaker-upload-data.s3.us-west-2.amazonaws.com/tiles/cdl_2024_30m.pmtiles';
|
|
14669
|
+
LAYER_ID = 'cropland-data-layer';
|
|
14670
|
+
SOURCE_ID = 'cropland-data-source';
|
|
14671
|
+
settings = signal(new CroplandDataLayerSettings(), ...(ngDevMode ? [{ debugName: "settings" }] : []));
|
|
14672
|
+
current = null;
|
|
14673
|
+
currentFeatureID = undefined;
|
|
14674
|
+
over = signal(null, ...(ngDevMode ? [{ debugName: "over" }] : []));
|
|
14675
|
+
legends = undefined;
|
|
14676
|
+
count = 0;
|
|
14677
|
+
total = 0;
|
|
14678
|
+
map;
|
|
14679
|
+
popup = null;
|
|
14680
|
+
constructor(settings) {
|
|
14681
|
+
if (settings) {
|
|
14682
|
+
this.settings.set({
|
|
14683
|
+
...this.settings(),
|
|
14684
|
+
...settings
|
|
14685
|
+
});
|
|
14686
|
+
}
|
|
14687
|
+
const _ = effect(() => {
|
|
14688
|
+
const settings = this.settings();
|
|
14689
|
+
this._update(settings);
|
|
14690
|
+
}, ...(ngDevMode ? [{ debugName: "_" }] : []));
|
|
14691
|
+
}
|
|
14692
|
+
update(settings) {
|
|
14693
|
+
this.settings.set({ ...this.settings(), ...settings });
|
|
14694
|
+
}
|
|
14695
|
+
_update(settings) {
|
|
14696
|
+
if (!this.map) {
|
|
14697
|
+
return;
|
|
14698
|
+
}
|
|
14699
|
+
const map = this.map;
|
|
14700
|
+
if (settings.visible) {
|
|
14701
|
+
map.setLayoutProperty(this.LAYER_ID, 'visibility', 'visible');
|
|
14702
|
+
this.legends = [this.toLegend()];
|
|
14703
|
+
}
|
|
14704
|
+
else {
|
|
14705
|
+
map.setLayoutProperty(this.LAYER_ID, 'visibility', 'none');
|
|
14706
|
+
this.legends = undefined;
|
|
14707
|
+
}
|
|
14708
|
+
}
|
|
14709
|
+
create() {
|
|
14710
|
+
if (!this.map) {
|
|
14711
|
+
return;
|
|
14712
|
+
}
|
|
14713
|
+
const map = this.map;
|
|
14714
|
+
console.log('Creating CDL raster source with URL:', CroplandDataLayerMapper.PMTILES);
|
|
14715
|
+
AddSource(map, this.SOURCE_ID, {
|
|
14716
|
+
type: 'raster',
|
|
14717
|
+
url: CroplandDataLayerMapper.PMTILES,
|
|
14718
|
+
tileSize: 256
|
|
14719
|
+
});
|
|
14720
|
+
const addedFill = AddLayer(map, {
|
|
14721
|
+
id: this.LAYER_ID,
|
|
14722
|
+
source: this.SOURCE_ID,
|
|
14723
|
+
type: 'raster',
|
|
14724
|
+
}, StandardLayersMapper.POLYGONS_BACKGROUND);
|
|
14725
|
+
this._update(this.settings());
|
|
14726
|
+
if (!addedFill) {
|
|
14727
|
+
return;
|
|
14728
|
+
}
|
|
14729
|
+
map.on('click', async (e) => {
|
|
14730
|
+
if (!this.settings().visible) {
|
|
14731
|
+
return;
|
|
14732
|
+
}
|
|
14733
|
+
const pixel = await pmtilesPixelInfo(CroplandDataLayerMapper.PMTILES, map, e);
|
|
14734
|
+
if (!pixel) {
|
|
14735
|
+
console.error('No pixel data returned');
|
|
14736
|
+
return;
|
|
14737
|
+
}
|
|
14738
|
+
const coordinates = e.lngLat;
|
|
14739
|
+
// Ensure that if the popup is already open, we don't create a new one
|
|
14740
|
+
if (this.popup) {
|
|
14741
|
+
this.popup.remove();
|
|
14742
|
+
}
|
|
14743
|
+
const r = pixel[0];
|
|
14744
|
+
const g = pixel[1];
|
|
14745
|
+
const b = pixel[2];
|
|
14746
|
+
const a = pixel[3];
|
|
14747
|
+
const hex = rgbToHex(r, g, b);
|
|
14748
|
+
const cropType = this.pixelToCropType(pixel);
|
|
14749
|
+
if (!cropType) {
|
|
14750
|
+
return;
|
|
14751
|
+
}
|
|
14752
|
+
let html = `
|
|
14753
|
+
<strong>Cropland Data Layer</strong>
|
|
14754
|
+
<hr />
|
|
14755
|
+
<br/>
|
|
14756
|
+
<div style="display: flex; align-items: center; margin-bottom: 8px;">
|
|
14757
|
+
<div style="width:20px; height:20px; background-color:${hex}; display:inline-block; margin-right:5px; border:1px solid #000;"></div>
|
|
14758
|
+
${cropType.class}
|
|
14759
|
+
</div>
|
|
14760
|
+
Code: ${cropType.code}<br/>
|
|
14761
|
+
`;
|
|
14762
|
+
this.popup = new Popup({ maxWidth: '400px' })
|
|
14763
|
+
.setLngLat(coordinates)
|
|
14764
|
+
.setHTML(html)
|
|
14765
|
+
.addTo(map);
|
|
14766
|
+
});
|
|
14767
|
+
}
|
|
14768
|
+
async onReady(map, svc) {
|
|
14769
|
+
this.map = map;
|
|
14770
|
+
this.create();
|
|
14771
|
+
}
|
|
14772
|
+
reset() { }
|
|
14773
|
+
clear() {
|
|
14774
|
+
if (this.map) {
|
|
14775
|
+
this.map.removeLayer(this.LAYER_ID);
|
|
14776
|
+
this.map.removeSource(this.SOURCE_ID);
|
|
14777
|
+
}
|
|
14778
|
+
this.legends = undefined;
|
|
14779
|
+
}
|
|
14780
|
+
pixelToCropType(pixel) {
|
|
14781
|
+
const r = pixel[0];
|
|
14782
|
+
const g = pixel[1];
|
|
14783
|
+
const b = pixel[2];
|
|
14784
|
+
const hex = rgbToHex(r, g, b);
|
|
14785
|
+
if (!CroplandLegend) {
|
|
14786
|
+
return undefined;
|
|
14787
|
+
}
|
|
14788
|
+
const cropType = CroplandLegend.find(item => item.color.toLowerCase() === hex.toLowerCase());
|
|
14789
|
+
return cropType;
|
|
14790
|
+
}
|
|
14791
|
+
toLegend() {
|
|
14792
|
+
return {
|
|
14793
|
+
title: 'Cropland Data Layer',
|
|
14794
|
+
items: CroplandLegend.map(item => ({
|
|
14795
|
+
label: item.class,
|
|
14796
|
+
value: item.color
|
|
14797
|
+
}))
|
|
14798
|
+
};
|
|
14799
|
+
}
|
|
14800
|
+
}
|
|
14801
|
+
class CroplandDataLayerSettings {
|
|
14802
|
+
visible = true;
|
|
14803
|
+
}
|
|
14804
|
+
// Method 1: Using toString(16) and padStart
|
|
14805
|
+
const rgbToHex = (r, g, b) => {
|
|
14806
|
+
return '#' + [r, g, b].map(x => x.toString(16).padStart(2, '0')).join('');
|
|
14807
|
+
};
|
|
14808
|
+
const CroplandLegend = [
|
|
14809
|
+
{ "code": 1, "class": "Corn", "color": "#ffd200" },
|
|
14810
|
+
{ "code": 2, "class": "Cotton", "color": "#ff2424" },
|
|
14811
|
+
{ "code": 3, "class": "Rice", "color": "#00a8e2" },
|
|
14812
|
+
{ "code": 4, "class": "Sorghum", "color": "#ff9e09" },
|
|
14813
|
+
{ "code": 5, "class": "Soybeans", "color": "#246e00" },
|
|
14814
|
+
{ "code": 6, "class": "Sunflower", "color": "#ffff00" },
|
|
14815
|
+
{ "code": 10, "class": "Peanuts", "color": "#6ea300" },
|
|
14816
|
+
{ "code": 11, "class": "Tobacco", "color": "#00ad49" },
|
|
14817
|
+
{ "code": 12, "class": "Sweet Corn", "color": "#dda309" },
|
|
14818
|
+
{ "code": 13, "class": "Pop or Orn Corn", "color": "#dda309" },
|
|
14819
|
+
{ "code": 14, "class": "Mint", "color": "#7cd2ff" },
|
|
14820
|
+
{ "code": 21, "class": "Barley", "color": "#e0007a" },
|
|
14821
|
+
{ "code": 22, "class": "Durum Wheat", "color": "#876052" },
|
|
14822
|
+
{ "code": 23, "class": "Spring Wheat", "color": "#d6b56b" },
|
|
14823
|
+
{ "code": 24, "class": "Winter Wheat", "color": "#a36e00" },
|
|
14824
|
+
{ "code": 25, "class": "Other Small Grains", "color": "#d49eba" },
|
|
14825
|
+
{ "code": 26, "class": "Dbl Crop WinWht/Soybeans", "color": "#6e6e00" },
|
|
14826
|
+
{ "code": 27, "class": "Rye", "color": "#ac007a" },
|
|
14827
|
+
{ "code": 28, "class": "Oats", "color": "#9f5787" },
|
|
14828
|
+
{ "code": 29, "class": "Millet", "color": "#6e0047" },
|
|
14829
|
+
{ "code": 30, "class": "Speltz", "color": "#d49eba" },
|
|
14830
|
+
{ "code": 31, "class": "Canola", "color": "#d1ff00" },
|
|
14831
|
+
{ "code": 32, "class": "Flaxseed", "color": "#7c99ff" },
|
|
14832
|
+
{ "code": 33, "class": "Safflower", "color": "#d4d400" },
|
|
14833
|
+
{ "code": 34, "class": "Rape Seed", "color": "#d1ff00" },
|
|
14834
|
+
{ "code": 35, "class": "Mustard", "color": "#00ad49" },
|
|
14835
|
+
{ "code": 36, "class": "Alfalfa", "color": "#ffa3e0" },
|
|
14836
|
+
{ "code": 37, "class": "Other Hay/Non Alfalfa", "color": "#a3f08a" },
|
|
14837
|
+
{ "code": 38, "class": "Camelina", "color": "#00ad49" },
|
|
14838
|
+
{ "code": 39, "class": "Buckwheat", "color": "#d49eba" },
|
|
14839
|
+
{ "code": 41, "class": "Sugarbeets", "color": "#a800e2" },
|
|
14840
|
+
{ "code": 42, "class": "Dry Beans", "color": "#a30000" },
|
|
14841
|
+
{ "code": 43, "class": "Potatoes", "color": "#6e2400" },
|
|
14842
|
+
{ "code": 44, "class": "Other Crops", "color": "#00ad49" },
|
|
14843
|
+
{ "code": 45, "class": "Sugarcane", "color": "#af7cff" },
|
|
14844
|
+
{ "code": 46, "class": "Sweet Potatoes", "color": "#6e2400" },
|
|
14845
|
+
{ "code": 47, "class": "Misc Vegs & Fruits", "color": "#ff6666" },
|
|
14846
|
+
{ "code": 48, "class": "Watermelons", "color": "#ff6666" },
|
|
14847
|
+
{ "code": 49, "class": "Onions", "color": "#ffcc66" },
|
|
14848
|
+
{ "code": 50, "class": "Cucumbers", "color": "#ff6666" },
|
|
14849
|
+
{ "code": 51, "class": "Chick Peas", "color": "#00ad49" },
|
|
14850
|
+
{ "code": 52, "class": "Lentils", "color": "#00ddad" },
|
|
14851
|
+
{ "code": 53, "class": "Peas", "color": "#52ff00" },
|
|
14852
|
+
{ "code": 54, "class": "Tomatoes", "color": "#f0a177" },
|
|
14853
|
+
{ "code": 55, "class": "Caneberries", "color": "#ff6666" },
|
|
14854
|
+
{ "code": 56, "class": "Hops", "color": "#00ad49" },
|
|
14855
|
+
{ "code": 57, "class": "Herbs", "color": "#7cd2ff" },
|
|
14856
|
+
{ "code": 58, "class": "Clover/Wildflowers", "color": "#e8bdff" },
|
|
14857
|
+
{ "code": 59, "class": "Sod/Grass Seed", "color": "#adffdd" },
|
|
14858
|
+
{ "code": 60, "class": "Switchgrass", "color": "#00ad49" },
|
|
14859
|
+
{ "code": 61, "class": "Fallow/Idle Cropland", "color": "#bdbd77" },
|
|
14860
|
+
{ "code": 63, "class": "Forest", "color": "#92cc92" },
|
|
14861
|
+
{ "code": 64, "class": "Shrubland", "color": "#c5d49e" },
|
|
14862
|
+
{ "code": 65, "class": "Barren", "color": "#ccbda1" },
|
|
14863
|
+
{ "code": 66, "class": "Cherries", "color": "#ff00ff" },
|
|
14864
|
+
{ "code": 67, "class": "Peaches", "color": "#ff8eaa" },
|
|
14865
|
+
{ "code": 68, "class": "Apples", "color": "#b8004f" },
|
|
14866
|
+
{ "code": 69, "class": "Grapes", "color": "#6e4487" },
|
|
14867
|
+
{ "code": 70, "class": "Christmas Trees", "color": "#007777" },
|
|
14868
|
+
{ "code": 71, "class": "Other Tree Crops", "color": "#af9a6e" },
|
|
14869
|
+
{ "code": 72, "class": "Citrus", "color": "#ffff7c" },
|
|
14870
|
+
{ "code": 74, "class": "Pecans", "color": "#b56e5b" },
|
|
14871
|
+
{ "code": 75, "class": "Almonds", "color": "#00a382" },
|
|
14872
|
+
{ "code": 76, "class": "Walnuts", "color": "#e9d4ad" },
|
|
14873
|
+
{ "code": 77, "class": "Pears", "color": "#af9a6e" },
|
|
14874
|
+
{ "code": 81, "class": "Clouds/No Data", "color": "#f0f0f0" },
|
|
14875
|
+
{ "code": 82, "class": "Developed", "color": "#9a9a9a" },
|
|
14876
|
+
{ "code": 83, "class": "Water", "color": "#496ea1" },
|
|
14877
|
+
{ "code": 87, "class": "Wetlands", "color": "#7cafaf" },
|
|
14878
|
+
{ "code": 88, "class": "Nonag/Undefined", "color": "#e8ffbd" },
|
|
14879
|
+
{ "code": 92, "class": "Aquaculture", "color": "#00ffff" },
|
|
14880
|
+
{ "code": 111, "class": "Open Water", "color": "#496ea1" },
|
|
14881
|
+
{ "code": 112, "class": "Perennial Ice/Snow", "color": "#d2e0f8" },
|
|
14882
|
+
{ "code": 121, "class": "Developed/Open Space", "color": "#9a9a9a" },
|
|
14883
|
+
{ "code": 122, "class": "Developed/Low Intensity", "color": "#9a9a9a" },
|
|
14884
|
+
{ "code": 123, "class": "Developed/Med Intensity", "color": "#9a9a9a" },
|
|
14885
|
+
{ "code": 124, "class": "Developed/High Intensity", "color": "#9a9a9a" },
|
|
14886
|
+
{ "code": 131, "class": "Barren", "color": "#ccbda1" },
|
|
14887
|
+
{ "code": 141, "class": "Deciduous Forest", "color": "#92cc92" },
|
|
14888
|
+
{ "code": 142, "class": "Evergreen Forest", "color": "#92cc92" },
|
|
14889
|
+
{ "code": 143, "class": "Mixed Forest", "color": "#92cc92" },
|
|
14890
|
+
{ "code": 152, "class": "Shrubland", "color": "#c5d49e" },
|
|
14891
|
+
{ "code": 176, "class": "Grassland/Pasture", "color": "#e8ffbd" },
|
|
14892
|
+
{ "code": 190, "class": "Woody Wetlands", "color": "#7cafaf" },
|
|
14893
|
+
{ "code": 195, "class": "Herbaceous Wetlands", "color": "#7cafaf" }
|
|
14894
|
+
];
|
|
14895
|
+
/*
|
|
14896
|
+
https://www.nass.usda.gov/Research_and_Science/Cropland/metadata/metadata_CDL24_FGDC-STD-001-1998.htm
|
|
14897
|
+
https://www.nass.usda.gov/Research_and_Science/Cropland/docs/US_2024_CDL_legend.jpg
|
|
14898
|
+
gdalinfo ~/mmdata/download/2024_30m_cdls.tif | grep -A 200 "Color Table"
|
|
14899
|
+
|
|
14900
|
+
|
|
14901
|
+
Accuracy Assessment Summary for Cropland Data Layer 2024
|
|
14902
|
+
|
|
14903
|
+
Cover Attribute *Correct Producer's Omission User's Commission Cond'l
|
|
14904
|
+
Type Code Pixels Accuracy Error Kappa Accuracy Error Kappa
|
|
14905
|
+
---- ---- ------ -------- ----- ----- -------- ----- -----
|
|
14906
|
+
Corn 1 926,684 92.6% 7.4% 0.923 92.3% 7.7% 0.919
|
|
14907
|
+
Cotton 2 118,322 85.2% 14.8% 0.852 86.2% 13.8% 0.861
|
|
14908
|
+
Rice 3 35,276 96.1% 3.9% 0.961 91.3% 8.7% 0.912
|
|
14909
|
+
Sorghum 4 60,299 79.9% 20.1% 0.799 69.8% 30.2% 0.697
|
|
14910
|
+
Soybeans 5 830,135 91.2% 8.8% 0.908 91.6% 8.4% 0.912
|
|
14911
|
+
Sunflower 6 7,181 82.8% 17.2% 0.828 82.8% 17.2% 0.828
|
|
14912
|
+
Peanuts 10 18,182 90.7% 9.3% 0.906 74.8% 25.2% 0.747
|
|
14913
|
+
Tobacco 11 329 37.9% 62.1% 0.379 70.3% 29.7% 0.703
|
|
14914
|
+
Sweet Corn 12 1,389 56.2% 43.8% 0.562 56.6% 43.4% 0.566
|
|
14915
|
+
Pop or Orn Corn 13 1,298 82.7% 17.3% 0.827 52.3% 47.7% 0.523
|
|
14916
|
+
Mint 14 402 82.5% 17.5% 0.825 76.9% 23.1% 0.769
|
|
14917
|
+
Barley 21 16,542 74.3% 25.7% 0.743 65.1% 34.9% 0.650
|
|
14918
|
+
Durum Wheat 22 16,332 72.0% 28.0% 0.720 62.6% 37.4% 0.625
|
|
14919
|
+
Spring Wheat 23 110,760 82.9% 17.1% 0.828 86.7% 13.3% 0.866
|
|
14920
|
+
Winter Wheat 24 204,900 87.1% 12.9% 0.869 81.1% 18.9% 0.809
|
|
14921
|
+
Other Small Grains 25 90 33.2% 66.8% 0.332 54.5% 45.5% 0.545
|
|
14922
|
+
Dbl Crop WinWht/Soybeans 26 36,376 78.4% 21.6% 0.783 81.6% 18.4% 0.815
|
|
14923
|
+
Rye 27 2,895 54.7% 45.3% 0.546 36.1% 63.9% 0.360
|
|
14924
|
+
Oats 28 6,701 57.3% 42.7% 0.573 36.2% 63.8% 0.362
|
|
14925
|
+
Millet 29 5,076 64.7% 35.3% 0.647 52.3% 47.7% 0.523
|
|
14926
|
+
Speltz 30 29 15.4% 84.6% 0.154 30.9% 69.1% 0.309
|
|
14927
|
+
Canola 31 28,077 93.8% 6.2% 0.938 89.1% 10.9% 0.891
|
|
14928
|
+
Flaxseed 32 1,003 61.2% 38.8% 0.612 51.4% 48.6% 0.514
|
|
14929
|
+
Safflower 33 1,363 75.4% 24.6% 0.754 77.2% 22.8% 0.772
|
|
14930
|
+
Rape Seed 34 25 25.5% 74.5% 0.255 50.0% 50.0% 0.500
|
|
14931
|
+
Mustard 35 1,657 82.9% 17.1% 0.829 73.3% 26.7% 0.733
|
|
14932
|
+
Alfalfa 36 88,352 79.6% 20.4% 0.795 60.3% 39.7% 0.601
|
|
14933
|
+
Other Hay/Non Alfalfa 37 13,256 46.8% 53.2% 0.464 8.3% 91.7% 0.082
|
|
14934
|
+
Camelina 38 165 44.6% 55.4% 0.446 39.0% 61.0% 0.390
|
|
14935
|
+
Buckwheat 39 311 57.9% 42.1% 0.579 71.0% 29.0% 0.710
|
|
14936
|
+
Sugarbeets 41 11,233 95.6% 4.4% 0.956 91.1% 8.9% 0.911
|
|
14937
|
+
Dry Beans 42 14,668 80.6% 19.4% 0.806 77.0% 23.0% 0.770
|
|
14938
|
+
Potatoes 43 8,489 89.7% 10.3% 0.897 87.1% 12.9% 0.871
|
|
14939
|
+
Other Crops 44 731 46.0% 54.0% 0.460 54.3% 45.7% 0.543
|
|
14940
|
+
Sugarcane 45 13,498 88.5% 11.5% 0.885 90.0% 10.0% 0.900
|
|
14941
|
+
Sweet Potatoes 46 935 83.8% 16.2% 0.838 77.6% 22.4% 0.776
|
|
14942
|
+
Misc Vegs & Fruits 47 62 9.8% 90.2% 0.098 24.5% 75.5% 0.245
|
|
14943
|
+
Watermelons 48 268 45.9% 54.1% 0.459 55.4% 44.6% 0.554
|
|
14944
|
+
Onions 49 923 70.1% 29.9% 0.701 76.8% 23.2% 0.768
|
|
14945
|
+
Cucumbers 50 306 56.5% 43.5% 0.565 68.0% 32.0% 0.680
|
|
14946
|
+
Chick Peas 51 5,280 77.7% 22.3% 0.777 81.7% 18.3% 0.817
|
|
14947
|
+
Lentils 52 10,012 82.2% 17.8% 0.822 77.6% 22.4% 0.776
|
|
14948
|
+
Peas 53 10,544 81.8% 18.2% 0.818 73.0% 27.0% 0.730
|
|
14949
|
+
Tomatoes 54 1,893 78.0% 22.0% 0.780 86.1% 13.9% 0.861
|
|
14950
|
+
Caneberries 55 62 51.2% 48.8% 0.512 49.2% 50.8% 0.492
|
|
14951
|
+
Hops 56 594 88.9% 11.1% 0.889 81.5% 18.5% 0.815
|
|
14952
|
+
Herbs 57 615 53.2% 46.8% 0.532 38.7% 61.3% 0.387
|
|
14953
|
+
Clover/Wildflowers 58 490 41.7% 58.3% 0.417 34.8% 65.2% 0.348
|
|
14954
|
+
Sod/Grass Seed 59 4,068 60.1% 39.9% 0.600 49.6% 50.4% 0.496
|
|
14955
|
+
Switchgrass 60 33 18.8% 81.3% 0.187 30.0% 70.0% 0.300
|
|
14956
|
+
Fallow/Idle Cropland 61 68,594 84.1% 15.9% 0.840 67.7% 32.3% 0.676
|
|
14957
|
+
Shrubland 64 18,064 72.3% 27.7% 0.723 49.2% 50.8% 0.492
|
|
14958
|
+
Cherries 66 805 52.9% 47.1% 0.529 47.0% 53.0% 0.470
|
|
14959
|
+
Peaches 67 597 45.5% 54.5% 0.455 48.4% 51.6% 0.484
|
|
14960
|
+
Apples 68 2,715 63.5% 36.5% 0.635 74.8% 25.2% 0.747
|
|
14961
|
+
Grapes 69 10,441 71.9% 28.1% 0.719 76.3% 23.7% 0.763
|
|
14962
|
+
Christmas Trees 70 68 9.7% 90.3% 0.097 14.3% 85.7% 0.143
|
|
14963
|
+
Other Tree Crops 71 275 30.8% 69.2% 0.308 44.0% 56.0% 0.440
|
|
14964
|
+
Citrus 72 3,974 58.5% 41.5% 0.585 75.1% 24.9% 0.751
|
|
14965
|
+
Pecans 74 2,706 76.6% 23.4% 0.766 49.9% 50.1% 0.499
|
|
14966
|
+
Almonds 75 23,975 86.3% 13.7% 0.863 86.5% 13.5% 0.865
|
|
14967
|
+
Walnuts 76 5,826 88.7% 11.3% 0.887 72.3% 27.7% 0.723
|
|
14968
|
+
Pears 77 293 56.0% 44.0% 0.560 52.6% 47.4% 0.526
|
|
14969
|
+
Aquaculture 92 4,555 85.3% 14.7% 0.853 80.7% 19.3% 0.807
|
|
14970
|
+
Pistachios 204 8,607 88.9% 11.1% 0.889 85.7% 14.3% 0.857
|
|
14971
|
+
Triticale 205 2,559 46.5% 53.5% 0.465 25.7% 74.3% 0.257
|
|
14972
|
+
Carrots 206 147 54.6% 45.4% 0.546 56.5% 43.5% 0.565
|
|
14973
|
+
Asparagus 207 17 34.0% 66.0% 0.340 54.8% 45.2% 0.548
|
|
14974
|
+
Garlic 208 144 66.4% 33.6% 0.664 76.6% 23.4% 0.766
|
|
14975
|
+
Cantaloupes 209 57 34.8% 65.2% 0.348 60.0% 40.0% 0.600
|
|
14976
|
+
Prunes 210 245 54.1% 45.9% 0.541 36.5% 63.5% 0.365
|
|
14977
|
+
Olives 211 479 73.6% 26.4% 0.736 45.7% 54.3% 0.457
|
|
14978
|
+
Oranges 212 3,617 61.0% 39.0% 0.610 58.5% 41.5% 0.585
|
|
14979
|
+
Honeydew Melons 213 2 10.5% 89.5% 0.105 11.1% 88.9% 0.111
|
|
14980
|
+
Broccoli 214 61 36.7% 63.3% 0.367 47.7% 52.3% 0.477
|
|
14981
|
+
Avocados 215 353 69.9% 30.1% 0.699 48.9% 51.1% 0.489
|
|
14982
|
+
Peppers 216 108 38.3% 61.7% 0.383 54.5% 45.5% 0.545
|
|
14983
|
+
Pomegranates 217 206 83.7% 16.3% 0.837 51.2% 48.8% 0.512
|
|
14984
|
+
Nectarines 218 1 5.3% 94.7% 0.053 14.3% 85.7% 0.143
|
|
14985
|
+
Greens 219 63 39.1% 60.9% 0.391 40.9% 59.1% 0.409
|
|
14986
|
+
Plums 220 20 14.6% 85.4% 0.146 5.7% 94.3% 0.057
|
|
14987
|
+
Strawberries 221 26 15.7% 84.3% 0.157 45.6% 54.4% 0.456
|
|
14988
|
+
Squash 222 51 24.4% 75.6% 0.244 45.1% 54.9% 0.451
|
|
14989
|
+
Apricots 223 5 7.5% 92.5% 0.075 6.2% 93.8% 0.062
|
|
14990
|
+
Vetch 224 64 57.7% 42.3% 0.577 59.8% 40.2% 0.598
|
|
14991
|
+
Dbl Crop WinWht/Corn 225 1,796 46.1% 53.9% 0.460 48.5% 51.5% 0.485
|
|
14992
|
+
Dbl Crop Oats/Corn 226 315 47.9% 52.1% 0.479 48.8% 51.2% 0.488
|
|
14993
|
+
Lettuce 227 97 41.6% 58.4% 0.416 27.1% 72.9% 0.271
|
|
14994
|
+
Dbl Crop Triticale/Corn 228 1,841 47.0% 53.0% 0.469 61.8% 38.2% 0.618
|
|
14995
|
+
Pumpkins 229 226 36.3% 63.7% 0.363 57.1% 42.9% 0.571
|
|
14996
|
+
Dbl Crop Lettuce/Durum Wht 230 0 0.0% 100.0% 0.000 n/a n/a n/a
|
|
14997
|
+
Dbl Crop Lettuce/Cantaloupe 231 56 48.7% 51.3% 0.487 90.3% 9.7% 0.903
|
|
14998
|
+
Dbl Crop Lettuce/Cotton 232 97 68.3% 31.7% 0.683 84.3% 15.7% 0.843
|
|
14999
|
+
Dbl Crop Lettuce/Barley 233 1 20.0% 80.0% 0.200 25.0% 75.0% 0.250
|
|
15000
|
+
Dbl Crop WinWht/Sorghum 236 1,725 56.4% 43.6% 0.564 33.3% 66.7% 0.333
|
|
15001
|
+
Dbl Crop Barley/Corn 237 187 39.0% 61.0% 0.390 57.9% 42.1% 0.579
|
|
15002
|
+
Dbl Crop WinWht/Cotton 238 407 32.9% 67.1% 0.329 18.2% 81.8% 0.182
|
|
15003
|
+
Dbl Crop Soybeans/Cotton 239 0 0.0% 100.0% 0.000 n/a n/a n/a
|
|
15004
|
+
Dbl Crop Soybeans/Oats 240 160 29.5% 70.5% 0.295 37.0% 63.0% 0.370
|
|
15005
|
+
Dbl Crop Corn/Soybeans 241 31 32.6% 67.4% 0.326 48.4% 51.6% 0.484
|
|
15006
|
+
Blueberries 242 368 45.4% 54.6% 0.454 39.1% 60.9% 0.391
|
|
15007
|
+
Cabbage 243 90 49.2% 50.8% 0.492 46.9% 53.1% 0.469
|
|
15008
|
+
Cauliflower 244 10 28.6% 71.4% 0.286 20.4% 79.6% 0.204
|
|
15009
|
+
Celery 245 6 14.3% 85.7% 0.143 25.0% 75.0% 0.250
|
|
15010
|
+
Radishes 246 28 46.7% 53.3% 0.467 50.9% 49.1% 0.509
|
|
15011
|
+
Turnips 247 19 38.8% 61.2% 0.388 48.7% 51.3% 0.487
|
|
15012
|
+
Eggplants 248 1 10.0% 90.0% 0.100 50.0% 50.0% 0.500
|
|
15013
|
+
Gourds 249 3 17.6% 82.4% 0.176 60.0% 40.0% 0.600
|
|
15014
|
+
Cranberries 250 18 17.6% 82.4% 0.176 69.2% 30.8% 0.692
|
|
15015
|
+
Dbl Crop Barley/Soybeans 254 433 47.5% 52.5% 0.475 63.0% 37.0% 0.630
|
|
15016
|
+
|
|
15017
|
+
|
|
15018
|
+
Raster
|
|
15019
|
+
Attribute Domain Values and Definitions: NO DATA, BACKGROUND 0
|
|
15020
|
+
|
|
15021
|
+
Categorization Code Land Cover
|
|
15022
|
+
"0" Background
|
|
15023
|
+
|
|
15024
|
+
Raster
|
|
15025
|
+
Attribute Domain Values and Definitions: CROPS 1-60
|
|
15026
|
+
|
|
15027
|
+
Categorization Code Land Cover
|
|
15028
|
+
"1" Corn
|
|
15029
|
+
"2" Cotton
|
|
15030
|
+
"3" Rice
|
|
15031
|
+
"4" Sorghum
|
|
15032
|
+
"5" Soybeans
|
|
15033
|
+
"6" Sunflower
|
|
15034
|
+
"10" Peanuts
|
|
15035
|
+
"11" Tobacco
|
|
15036
|
+
"12" Sweet Corn
|
|
15037
|
+
"13" Pop or Orn Corn
|
|
15038
|
+
"14" Mint
|
|
15039
|
+
"21" Barley
|
|
15040
|
+
"22" Durum Wheat
|
|
15041
|
+
"23" Spring Wheat
|
|
15042
|
+
"24" Winter Wheat
|
|
15043
|
+
"25" Other Small Grains
|
|
15044
|
+
"26" Dbl Crop WinWht/Soybeans
|
|
15045
|
+
"27" Rye
|
|
15046
|
+
"28" Oats
|
|
15047
|
+
"29" Millet
|
|
15048
|
+
"30" Speltz
|
|
15049
|
+
"31" Canola
|
|
15050
|
+
"32" Flaxseed
|
|
15051
|
+
"33" Safflower
|
|
15052
|
+
"34" Rape Seed
|
|
15053
|
+
"35" Mustard
|
|
15054
|
+
"36" Alfalfa
|
|
15055
|
+
"37" Other Hay/Non Alfalfa
|
|
15056
|
+
"38" Camelina
|
|
15057
|
+
"39" Buckwheat
|
|
15058
|
+
"41" Sugarbeets
|
|
15059
|
+
"42" Dry Beans
|
|
15060
|
+
"43" Potatoes
|
|
15061
|
+
"44" Other Crops
|
|
15062
|
+
"45" Sugarcane
|
|
15063
|
+
"46" Sweet Potatoes
|
|
15064
|
+
"47" Misc Vegs & Fruits
|
|
15065
|
+
"48" Watermelons
|
|
15066
|
+
"49" Onions
|
|
15067
|
+
"50" Cucumbers
|
|
15068
|
+
"51" Chick Peas
|
|
15069
|
+
"52" Lentils
|
|
15070
|
+
"53" Peas
|
|
15071
|
+
"54" Tomatoes
|
|
15072
|
+
"55" Caneberries
|
|
15073
|
+
"56" Hops
|
|
15074
|
+
"57" Herbs
|
|
15075
|
+
"58" Clover/Wildflowers
|
|
15076
|
+
"59" Sod/Grass Seed
|
|
15077
|
+
"60" Switchgrass
|
|
15078
|
+
|
|
15079
|
+
Raster
|
|
15080
|
+
Attribute Domain Values and Definitions: NON-CROP 61-65
|
|
15081
|
+
|
|
15082
|
+
Categorization Code Land Cover
|
|
15083
|
+
"61" Fallow/Idle Cropland
|
|
15084
|
+
"62" Pasture/Grass
|
|
15085
|
+
"63" Forest
|
|
15086
|
+
"64" Shrubland
|
|
15087
|
+
"65" Barren
|
|
15088
|
+
|
|
15089
|
+
Raster
|
|
15090
|
+
Attribute Domain Values and Definitions: CROPS 66-80
|
|
15091
|
+
|
|
15092
|
+
Categorization Code Land Cover
|
|
15093
|
+
"66" Cherries
|
|
15094
|
+
"67" Peaches
|
|
15095
|
+
"68" Apples
|
|
15096
|
+
"69" Grapes
|
|
15097
|
+
"70" Christmas Trees
|
|
15098
|
+
"71" Other Tree Crops
|
|
15099
|
+
"72" Citrus
|
|
15100
|
+
"74" Pecans
|
|
15101
|
+
"75" Almonds
|
|
15102
|
+
"76" Walnuts
|
|
15103
|
+
"77" Pears
|
|
15104
|
+
|
|
15105
|
+
Raster
|
|
15106
|
+
Attribute Domain Values and Definitions: OTHER 81-109
|
|
15107
|
+
|
|
15108
|
+
Categorization Code Land Cover
|
|
15109
|
+
"81" Clouds/No Data
|
|
15110
|
+
"82" Developed
|
|
15111
|
+
"83" Water
|
|
15112
|
+
"87" Wetlands
|
|
15113
|
+
"88" Nonag/Undefined
|
|
15114
|
+
"92" Aquaculture
|
|
15115
|
+
|
|
15116
|
+
Raster
|
|
15117
|
+
Attribute Domain Values and Definitions: NLCD-DERIVED CLASSES 110-195
|
|
15118
|
+
|
|
15119
|
+
Categorization Code Land Cover
|
|
15120
|
+
"111" Open Water
|
|
15121
|
+
"112" Perennial Ice/Snow
|
|
15122
|
+
"121" Developed/Open Space
|
|
15123
|
+
"122" Developed/Low Intensity
|
|
15124
|
+
"123" Developed/Med Intensity
|
|
15125
|
+
"124" Developed/High Intensity
|
|
15126
|
+
"131" Barren
|
|
15127
|
+
"141" Deciduous Forest
|
|
15128
|
+
"142" Evergreen Forest
|
|
15129
|
+
"143" Mixed Forest
|
|
15130
|
+
"152" Shrubland
|
|
15131
|
+
"176" Grassland/Pasture
|
|
15132
|
+
"190" Woody Wetlands
|
|
15133
|
+
"195" Herbaceous Wetlands
|
|
15134
|
+
|
|
15135
|
+
Raster
|
|
15136
|
+
Attribute Domain Values and Definitions: CROPS 195-255
|
|
15137
|
+
|
|
15138
|
+
Categorization Code Land Cover
|
|
15139
|
+
"204" Pistachios
|
|
15140
|
+
"205" Triticale
|
|
15141
|
+
"206" Carrots
|
|
15142
|
+
"207" Asparagus
|
|
15143
|
+
"208" Garlic
|
|
15144
|
+
"209" Cantaloupes
|
|
15145
|
+
"210" Prunes
|
|
15146
|
+
"211" Olives
|
|
15147
|
+
"212" Oranges
|
|
15148
|
+
"213" Honeydew Melons
|
|
15149
|
+
"214" Broccoli
|
|
15150
|
+
"215" Avocados
|
|
15151
|
+
"216" Peppers
|
|
15152
|
+
"217" Pomegranates
|
|
15153
|
+
"218" Nectarines
|
|
15154
|
+
"219" Greens
|
|
15155
|
+
"220" Plums
|
|
15156
|
+
"221" Strawberries
|
|
15157
|
+
"222" Squash
|
|
15158
|
+
"223" Apricots
|
|
15159
|
+
"224" Vetch
|
|
15160
|
+
"225" Dbl Crop WinWht/Corn
|
|
15161
|
+
"226" Dbl Crop Oats/Corn
|
|
15162
|
+
"227" Lettuce
|
|
15163
|
+
"228" Dbl Crop Triticale/Corn
|
|
15164
|
+
"229" Pumpkins
|
|
15165
|
+
"230" Dbl Crop Lettuce/Durum Wht
|
|
15166
|
+
"231" Dbl Crop Lettuce/Cantaloupe
|
|
15167
|
+
"232" Dbl Crop Lettuce/Cotton
|
|
15168
|
+
"233" Dbl Crop Lettuce/Barley
|
|
15169
|
+
"234" Dbl Crop Durum Wht/Sorghum
|
|
15170
|
+
"235" Dbl Crop Barley/Sorghum
|
|
15171
|
+
"236" Dbl Crop WinWht/Sorghum
|
|
15172
|
+
"237" Dbl Crop Barley/Corn
|
|
15173
|
+
"238" Dbl Crop WinWht/Cotton
|
|
15174
|
+
"239" Dbl Crop Soybeans/Cotton
|
|
15175
|
+
"240" Dbl Crop Soybeans/Oats
|
|
15176
|
+
"241" Dbl Crop Corn/Soybeans
|
|
15177
|
+
"242" Blueberries
|
|
15178
|
+
"243" Cabbage
|
|
15179
|
+
"244" Cauliflower
|
|
15180
|
+
"245" Celery
|
|
15181
|
+
"246" Radishes
|
|
15182
|
+
"247" Turnips
|
|
15183
|
+
"248" Eggplants
|
|
15184
|
+
"249" Gourds
|
|
15185
|
+
"250" Cranberries
|
|
15186
|
+
"254" Dbl Crop Barley/Soybeans
|
|
15187
|
+
|
|
15188
|
+
*/
|
|
15189
|
+
|
|
14667
15190
|
class EsriMapper {
|
|
14668
15191
|
jsonUrl = 'https://basemaps.arcgis.com/arcgis/rest/services/World_Basemap_v2/VectorTileServer/resources/styles/root.json';
|
|
14669
15192
|
SOURCE_ID = 'esri';
|
|
@@ -15563,5 +16086,5 @@ class HttpBoundaryLoader {
|
|
|
15563
16086
|
* Generated bundle index. Do not edit.
|
|
15564
16087
|
*/
|
|
15565
16088
|
|
|
15566
|
-
export { AddLayer, AddSource, AreaMapperMapper, BackgroundMaskMapper, BaseMapLight, BasemapSelect, BasemapSelectMenu, CensusTractMapper, DEFAULT_GLYPHS, DrawingMapper, EsriMapper, EsriSettings, HardinessMapper, HardinessSettings, HttpBoundaryLoader, MapAreaSelectComponent, MapComponent, MapSelectionService, MapService, MapStyles, MapboxMapperGroup, NAASMapper, NAASSettings, NoOpMapper, RemoveLayer, RemoveSource, SaveMap, SelectMode, SimpleMapper, StandardLayersMapper, Styles, VectorTileServerMapper, WatershedMapper, WatershedSettings, discoverLayers, isGeoloader, isMultiPolygon, isNumber2DArray, isNumber3DArray, isPolygon, mapboxLoadImages, mapboxloadImage, pmtilesPixelInfo, sampleTilesForLayers, simpleClone, toMultiPolygon, trySync };
|
|
16089
|
+
export { AddLayer, AddSource, AreaMapperMapper, BackgroundMaskMapper, BaseMapLight, BasemapSelect, BasemapSelectMenu, CensusTractMapper, CroplandDataLayerMapper, CroplandDataLayerSettings, CroplandLegend, DEFAULT_GLYPHS, DrawingMapper, EsriMapper, EsriSettings, HardinessMapper, HardinessSettings, HttpBoundaryLoader, MapAreaSelectComponent, MapComponent, MapSelectionService, MapService, MapStyles, MapboxMapperGroup, NAASMapper, NAASSettings, NoOpMapper, RemoveLayer, RemoveSource, SaveMap, SelectMode, SimpleMapper, StandardLayersMapper, Styles, VectorTileServerMapper, WatershedMapper, WatershedSettings, discoverLayers, isGeoloader, isMultiPolygon, isNumber2DArray, isNumber3DArray, isPolygon, mapboxLoadImages, mapboxloadImage, pmtilesPixelInfo, sampleTilesForLayers, simpleClone, toMultiPolygon, trySync };
|
|
15567
16090
|
//# sourceMappingURL=foodmarketmaker-mapag.mjs.map
|