Estimates of crop type and / or planting date

By combining crop growth simulation models and remote sensing data, using historical and weather information, the problems of early estimation type and sowing date of crops in the existing technology are solved, accurate and efficient early information acquisition, and agricultural decision-making support capabilities are improved.

CN115004213BActive Publication Date: 2024-12-31INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202180010420.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-02-03
Filing Date
2021-01-26
Publication Date
2024-12-31
Estimated Expiration
2041-01-26

AI Technical Summary

Technical Problem

The prior art is difficult to accurately estimate crop type and sowing dates early in crop growth, ground surveys are costly and delayed, and remote sensing methods can take several weeks to be effective, and cannot meet the needs of early estimation.

Method used

Combining crop growth simulation models and remote sensing data, the crop growth time series is determined through historical crop data, geospatial data and weather data, and the crop type and sowing date are estimated through matching algorithms.

Benefits of technology

Early accurate estimates of crop types and sowing dates are achieved, reducing costs and delays, improving information availability, and providing a competitive advantage for agriculture and related industries.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115004213B_ABST
    Figure CN115004213B_ABST
Patent Text Reader

Abstract

Methods, apparatus, and computer program products for estimating crop types and / or sowing dates are provided. In some embodiments, a historical crop growth time series and a plurality of simulated crop growth time series are determined, and the historical time series is matched with each simulated time series to determine an estimated crop type and / or sowing date. For example, a simulated time series can be determined for each crop type / sowing date combination within a set of one or more crop types and one or more sowing dates based on historical crop data. Each time series represents crop growth in an area of ​​interest and includes elements containing crop-specific parameters such as leaf area index (LAI). The historical time series can be determined based on remote sensing data. Each simulated time series can be determined using a crop growth simulation model and based on historical crop data, geospatial data, and weather data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates generally to the field of crop monitoring. More particularly, the present invention relates to providing an early estimate of crop type and / or sowing date. Background Art

[0002] Crop monitoring is widely used in agriculture as well as government. For example, agriculture such as commodity trading, seed supply, pesticide manufacturing and logistics services use crop monitoring in various aspects of their business. Crop monitoring can also be used for many government functions, including policy management.

[0003] Crop monitoring exists in many forms. Satellite crop monitoring facilitates real-time crop vegetation index monitoring of an area of ​​interest (e.g., one or more fields), for example, by using spectral analysis of high-resolution satellite imagery. Crop monitoring is often used to answer questions related to crop development, such as "What is the sowing status during the ongoing crop season (i.e., how much sowing area has gone through)?" and "What is the crop area under different crops?" Such questions often boil down to providing an estimate of the crop type and / or sowing date for the area of ​​interest.

[0004] Reliable estimates of crop type and / or planting date, especially if available at an early stage, can be of enormous value. For example, the early availability of this information can provide a competitive advantage to companies that use it (e.g., in applications such as crop insurance, commodity trading, seed supply, pesticide manufacturing, logistics services, etc.). Summary of the invention

[0005] Embodiments of the present disclosure include a method, apparatus, and computer program product for estimating crop types and / or sowing dates. In some embodiments, a historical crop growth time series and a plurality of simulated crop growth time series are determined, and the historical crop growth time series is matched with each of the plurality of simulated crop growth time series to determine an estimated crop type and / or sowing date. For example, a simulated time series can be determined for each crop type / sowing date combination within a set of one or more crop types and one or more sowing dates based on historical crop data. Each time series (i.e., the historical crop growth time series and each simulated crop growth time series) represents crop growth in an area of ​​interest and includes one or more elements, the one or more elements including one or more crop-specific parameters, such as leaf area index (LAI), normalized difference vegetation index (NDVI), etc.

[0006] The historical crop growth time series may be determined based on remote sensing data, such as a time series of image data of the region of interest. Each simulation time series may be determined using a crop growth simulation model and based on historical crop data, geospatial data, and weather data. The historical crop data may include, for example, crop types that were historically grown in a crop growth region associated with the region of interest during at least one previous crop cycle and a sowing calendar for each of these crop types. The geospatial data may include, for example, agricultural information characterizing the region of interest. The weather data may include, for example, a weather time series representing one or more weather conditions in a weather region associated with the region of interest. BRIEF DESCRIPTION OF THE DRAWINGS

[0007] Embodiments will be described hereinafter with reference to the accompanying drawings, wherein like reference numerals denote like elements.

[0008] Figure 1 Cloud computing nodes are depicted in accordance with one or more embodiments.

[0009] Figure 2 A cloud computing environment is depicted in accordance with one or more embodiments.

[0010] Figure 3 Abstract model layers are depicted in accordance with one or more embodiments.

[0011] Figure 4 Depicted are exemplary systems for estimating crop type and / or planting date in accordance with one or more embodiments.

[0012] Figure 5 A flow chart is depicted of an illustrative method of estimating crop type and / or planting date in accordance with one or more embodiments.

[0013] Figure 6 Depicted is a diagram of a method according to one or more embodiments Figure 5 A flow chart of an exemplary implementation of an illustrative method of estimating crop type and / or planting date is shown in FIG.

[0014] Fig. 7A and 7B Depicted is a diagram of a method according to one or more embodiments Figure 5 Flowchart of another exemplary implementation of an illustrative method of estimating crop type and / or planting date, wherein the crop type is determined in a first stage ( Fig. 7A ) and the sowing date is estimated in the second phase ( Figure 7B ) is estimated in .

[0015] Figure 8 Depicted is a diagram of a method according to one or more embodiments Figure 5Flowchart of yet another exemplary implementation of an illustrative method of estimating crop type and / or planting date is shown in .

[0016] Fig. 9 A block diagram is presented of an exemplary, non-limiting system that facilitates estimation of crop type and / or planting date in accordance with one or more embodiments.

[0017] Fig.10 is an exemplary client system for requesting estimates of crop types and / or planting dates and displaying results of the estimates in accordance with one or more embodiments. DETAILED DESCRIPTION

[0018] Estimation of crop type and / or planting date is conventionally accomplished using remote sensing and ground surveys, typically available a few weeks after planting. According to some embodiments, improving this waiting time (e.g., even to a week or less) potentially results in significant commercial value to all parties (i.e., users of such information as well as providers thereof).

[0019] Ground surveys have many disadvantages such as high cost, high latency, low accuracy, limited coverage area and non-scalability. These disadvantages make the use of ground surveys impractical in terms of cost and effort for early estimation of crop type and / or planting date.

[0020] Remote sensing has many advantages, including low cost, moderate latency, good accuracy, and wide coverage. However, conventional methods of estimating crop type and / or sowing date using remote sensing are only effective after the crop has grown for several weeks.

[0021] Crop growth simulation models are typically used as decision support systems (e.g., estimating the best time to apply fertilizer) and for providing "yield estimation" maps. As a byproduct, crop growth simulation models can provide comprehensive information about crop health progress on a regular basis (e.g., daily or even more frequently).

[0022] According to some embodiments, a method, apparatus, and computer program product for estimating crop type and / or planting date benefit from the combined use of one or more crop growth simulation models and remote sensing. In addition, according to some embodiments, the use of crop growth simulation models in combination with remote sensing to provide early estimates of crop type and / or planting date can facilitate the determination of derived information, such as planting patterns and areas under multiple crop types at very early stages of the crop cycle.

[0023] As used herein, the term "crop type" can include the type of crop being grown as well as varieties or cultivars of that type of crop.

[0024] According to some embodiments, a historical crop growth time series and a plurality of simulated crop growth time series are determined, and the historical crop growth time series is matched with each of the plurality of simulated crop growth time series to determine an estimated crop type and / or sowing date. For example, a simulated crop growth time series can be determined for each crop type / sowing date combination within a set of one or more crop types and one or more sowing dates based on historical crop data. As used herein, the term "crop type / sowing date combination" refers to a single crop type and a single sowing date selected from a set of one or more crop types and one or more sowing dates. Each time series (i.e., a historical crop growth time series and each simulated crop growth time series) represents crop growth in an area of ​​interest and includes one or more elements, including one or more crop-specific parameters, such as leaf area index (LAI), normalized difference vegetation index (NDVI), absorbed photosynthetically active radiation score (fAPAR), etc. The historical crop growth time series can be determined based on remote sensing data (such as a time series of image data of an area of ​​interest). Each simulated time series may be determined using a crop growth simulation model and based on historical crop data, geospatial data, and weather data.

[0025] As described above, historical crop growth time series can be determined based on remote sensing data (such as a time series of high spatial resolution image data of an area of ​​interest). The remote sensing data may include, for example, a time series of high spatial resolution image data of an area of ​​interest captured by one or more satellites, one or more aerial drones, and / or one or more aircraft during a previous and / or current crop cycle. For example, remotely sensed image data can be captured periodically (e.g., daily) from an orbiting satellite and can provide details at field-level resolution. The image data may include, but is not limited to, optical, synthetic aperture radar (SAR), and advanced synthetic aperture radar (ASAR) image data. In the case of optical images, cloud cover may prevent or delay image acquisition in certain locations. On the other hand, SAR imaging is able to guarantee the temporal frequency of images throughout the growth cycle due to its inherent ability to observe the earth's surface independently of cloud cover.

[0026] The optical images may be obtained, for example, from the European Space Agency (ESA) Sentinel 1-2 (NASA / US), the Geological Survey LANDSAT (Land Remote Sensing Satellite), SPOT (French: "Satellite Water Topography Observer" or "Earth Observation Satellite"), etc. For example, these optical images may include a set of N Sentinel 1-2 optical images, which are acquired periodically (e.g., every day) in the current crop cycle from the beginning of the sowing calendar to the current date. In another example, the optical images may include a set of N LANDSAT optical images (e.g., ETM+ ("Enhanced Thematic Map Plus"), which are acquired periodically (e.g., every day) in the current crop cycle from the beginning of the sowing calendar to the current date. In yet another example, the optical images may include a set of N SPOT optical images (e.g., HRV ("High Resolution Visible") and XS ("Multi-Spectrum")) acquired periodically (e.g., every day) in the current crop cycle from the beginning of the sowing calendar to the current date.

[0027] The SAR images may be obtained from, for example, the European Space Agency (ESA) Sentinel 1-1, ESAERS (“European Remote Sensing Satellite”), Canadian Space Agency (CSA) RADARSAT (“Radar Satellite”), etc. For example, the SAR images may include a set of N Sentinel 1-1A V / VH polarimetric SAR images (detected ground range interferometric swaths) acquired periodically in the current crop cycle from the start of the sowing calendar to the current date. In another example, the SAR images may include a set of N ERSSAR images (e.g., PRI (“Pulse Repetition Interval (PRI)-format”)) acquired periodically (e.g., every day) in the current crop cycle from the start of the sowing calendar to the current date. In yet another example, the SAR images may include a set of N RADARSAT SAR images (e.g., SGF (“SAR Georeferenced Fine (SGF) Format”)) acquired periodically (e.g., every day) in the current crop cycle from the start of the sowing calendar to the current date.

[0028] ASAR images are available, for example, from the European Space Agency (ESA) ENVISAT ("Environmental Satellite").

[0029] In some embodiments, remote sensing data from a single type of remote sensor (e.g., an optical sensor) can be used to determine a historical crop growth time series. For example, a historical crop growth time series may include a time series having one or more optically derived crop-specific parameters (e.g., NDVI, LAI, etc.) determined based on optical image data. According to one or more embodiments, a historical crop growth time series may include an NDVI time series determined based on Sentinal-2 optical images. For example, the NDVI values ​​of the NDVI time series may be calculated using reflectance values ​​in the visible and near-infrared (NIR) bands (e.g., reflectance values ​​from band 4 (red) and band 8 (NIR)) according to the following equation:

[0030] NDVI = (NIR – Red) / (NIR + Red) (1)

[0031] Where NIR and red represent the reflectance of the near infrared and red bands of the spectrum, respectively. During crop growth, NDVI values ​​increase with increasing density of green leaves, as green leaves absorb visible light and reflect NIR light. Differences in crop growth rates for different crop types result in crop-specific differences in NDVI value changes over the crop cycle. Therefore, the NDVI time series over the life cycle of a crop can be used as a signature for that crop in identifying the crop type as well as the sowing date for that crop.

[0032] According to one or more embodiments, the historical crop growth time series may include an LAI time series determined based on Sentinal-2 optical images. For example, the LAI value of the LAI time series may be calculated according to the following equation:

[0033] LAI=(NDVI–0.28) / 0.18, NDVI≤0.7 (2)

[0034] LAI=(SR–1.0) / 0.35,NDVI>0.7 (3)

[0035] Where NDVI and SR represent the Normalized Difference Vegetation Index and the Simple Ratio, respectively. NDVI was calculated according to equation (1) above, and SR was calculated as follows:

[0036] SR=NIR / red(4)

[0037] Where NIR and red represent the reflectance of near infrared and red band spectra, respectively. The above equations (1)-(4) are well known in the art. See, for example, BAN et al., "Assimilizing MODIS data-derived minimum input data set and water stress factor into CERES-Maize model improve regional corn yield prediction", PLOS ONE, 21 pages, February 25, 2019. LAI, which represents the surface area of ​​leaves available for energy exchange between plants and the atmosphere, is an important variable when used to simulate evapotranspiration, biomass fuel production, and yield.

[0038] In some embodiments, remote sensing data from two or more types of remote sensors (e.g., optical and SAR) can be used to determine historical crop growth time series. For example, the historical crop growth time series may include a time series having one or more optically derived crop-specific parameters (e.g., NDVI, LAI, etc.) determined based on optical image data and one or more SAR-derived crop-specific parameters (e.g., VV / VH polarization ratio) determined based on SAR image data. According to one or more embodiments, the historical crop growth time series may include a time series having both optically derived and SAR-derived crop-specific parameters determined based on Sentinal-2 optical images and Sentinal-1 SAR images, respectively. Examples of suitable crop-specific parameters that can be derived from SAR images include, but are not limited to, VV / VH polarization ratio, local moment, and Haralik texture. Differences in crop structure, leaf density, and field soil characteristics during the crop life cycle can result in differences in backscattered microwave signal intensity. Therefore, the progression of the intensity of the backscattered microwave signal in different polarizations or polarization combinations (e.g., VV / VH polarization ratios) during the life cycle of a crop can also be used as a signature of the crop in identifying the crop type and the sowing date of the crop.

[0039] The optical image data may be preprocessed using suitable conventional techniques. For example, the optical image data may be processed using the sen2cor toolbox to level 2A (i.e., with surface reflectance values ​​for cloud cover, cloud shadows, snow, and water) at a spatial resolution of 20 m. Those skilled in the art will recognize that other conventional techniques may be used to preprocess the optical image data set. For example, different spatial resolutions may be corrected to the same resolution using, for example, a nearest neighbor resampling technique.

[0040] The SAR image dataset can be preprocessed using suitable conventional techniques. For example, the Sentinel Application Platform (SNAP) toolbox can be used to process the SAR image dataset by performing the following operations: (A) calibrating the dataset to obtain backscatter coefficients, (B) multi-viewing the dataset with a window size of 2×2 pixels to reduce the speckle noise effect to achieve a spatial resolution of 20m, (C) removing the terrain effect in the dataset by using a digital elevation model (DEM) (e.g., from a space radar terrain observation mission) to derive the terrain slope and corresponding azimuth, and (D) applying a simple Lee filter with a window size of 3×3 pixels to further reduce the speckle noise effect while retaining the spatial resolution of 20m. Other conventional techniques can be used to preprocess the SAR image dataset. For example, different spatial resolutions can be corrected to the same resolution using, for example, nearest neighbor resampling techniques.

[0041] In some embodiments, the remote sensing data may be stored in one or more remote sensing databases (e.g., Figure 4 426 of Fig. 9 926) or geospatial data platforms (such as PAIRS (Physical Analysis Integrated Data Repository and Services) - Geographic Scope) is provided. is a registered trademark of International Business Machines Corporation ("IBM") in the United States. PAIRS-Geoscope is a platform specifically designed for large amounts of geospatial-temporal data (maps, satellites, weather, drones, IoT), query and analysis services. PAIRS-Geoscope provides access to historical and continuously updated remote sensing data.

[0042] Also as described above, each simulated crop growth time series can be determined using a crop growth simulation model and based on historical crop data, geospatial data, and weather data. Common crop growth simulation models include, but are not limited to, Crop Estimation through Resource and Environmental Synthesis (CERES), Decision Support System for Agronomic Transfer (DSSAT), and InfoCrop. The amount of input data required for a crop growth simulation model varies from model to model, but a crop growth simulation model typically requires information about the site, soil, initial conditions, weather, and crop management. Crop growth simulation models typically use the cumulative weather conditions that have occurred from crop planting to the current date to provide a historical overview of crop development.

[0043] According to one or more embodiments, each simulated crop growth time series may include a time series having one or more crop specific parameters (e.g., NDVI, LAI, etc.) determined using a crop growth simulation model and based on historical crop data, geospatial data, and weather data. For example, a simulated crop growth time series including a LAI time series may be determined using a DSSAT crop growth simulation model for each crop type / sowing date combination within a set of one or more crop types and one or more sowing dates based on historical crop data. Historical crop data, geospatial data, and weather data may serve as inputs to the DSSAT crop growth simulation model. The DSSAT crop growth simulation model inherently simulates LAI. For example, the DSSAT crop growth simulation model typically includes four main parts: a main program, a plant growth module, a soil water balance module, and a weather module. Typically, the plant growth module simulates leaf area index (LAI), which is used in a soil water balance module to calculate evaporation and transpiration.

[0044] Historical crop data may include, for example, crop types historically grown in a crop growing area associated with an area of ​​interest during at least one previous crop cycle and a sowing calendar for each of those crop types. In some embodiments, the crop growing area associated with an area of ​​interest may be the area of ​​interest itself. In some embodiments, the crop growing area associated with an area of ​​interest may be a crop growing area near the area of ​​interest. In a first example, the area of ​​interest may be a first field and the crop growing area associated with the area of ​​interest may be a second field adjacent to the first field. In a second example, the area of ​​interest may be a group of continuous fields and the crop growing area associated with the area of ​​interest may be a group of fields within a specified distance from the group of continuous fields. In some embodiments, the crop growing area associated with an area of ​​interest may be a crop growing area limited by a boundary (e.g., a physical boundary, a political boundary, etc.). For example, an area of ​​interest may be one or more fields and the crop growing area associated with the area of ​​interest may be a county, state, province, or other political boundary surrounding one or more fields.

[0045] In some embodiments, historical crop data may be stored in one or more crop history databases ( Figure 4 420 of them, Fig. 9920 in ). For example, historical crop data is generally accessible from public data sources as well as commercial sources. For example, the types of crops that were historically grown in a crop growing region associated with the region of interest are generally accessible from public data sources (such as the U.S. Department of Agriculture's National Agricultural Statistics Service (NASS) Cropscape)), as well as commercial sources. For example, sowing calendars are generally accessible from public data sources (such as the U.S. Department of Agriculture's National Agricultural Statistics Service (NASS) Agricultural Handbook No. 628 "Field Crops-Conventional Planting and Harvest Dates", the United Nations Food and Agriculture Organization (FAO) Crop Calendar, etc., as well as commercial sources.

[0046] The geospatial data may include, for example, agricultural information characterizing the region of interest. The geospatial data may include agricultural information such as altitude, soil moisture, soil type, and other geospatial data characterizing the region of interest, which may be used as input parameters for a crop growth simulation model. The geospatial data may be collected from the region of interest, from one or more regions near the region of interest, and / or from one or more regions representing the region of interest.

[0047] In some embodiments, the geospatial data may be stored in one or more geospatial databases (e.g., Figure 4 422 of Fig. 9 922) or geospatial data platforms (such as PAIRS (Physical Analysis Integrated Data Repository and Services) - Geographic Scope) is provided. PAIRS-Geoscope provides access to historical and continuously updated geospatial data.

[0048] Weather data may include, for example, weather time series representing one or more weather conditions in a weather region associated with an area of ​​interest. In some embodiments, weather data may include observed field level weather data and current field level weather data occurring during the current growing season. Weather data may include, for example, weather time series representing one or more weather conditions, such as daily global solar radiation, daily maximum and minimum temperatures, daily precipitation, and other weather conditions in a weather region associated with an area of ​​interest that may be used as input parameters of a crop growth simulation model. In some embodiments, the weather region associated with an area of ​​interest may be the area of ​​interest itself. In some embodiments, the weather region associated with an area of ​​interest may be a weather region close to the area of ​​interest. For example, an area of ​​interest may be a field and the weather region associated with an area of ​​interest may be an area where an automatic weather station within a specified distance from the field is located. In some embodiments, the weather region associated with an area of ​​interest may be a weather region limited by a boundary (e.g., a physical boundary, a political boundary, etc.). For example, an area of ​​interest may be one or more fields and the weather region associated with an area of ​​interest may be a valley or other physical boundary surrounding one or more fields.

[0049] In some embodiments, weather data may be stored in one or more weather databases (e.g., Figure 4 424 of Fig. 9 924). For example, weather data can be accessed from repositories such as the National Centers for Environmental Information (NCEI) and weather service providers such as The Weather Company, Weather Bell Analysis, Baron, and AccuWeather. NCEI is the primary repository for National Oceanic and Atmospheric Administration (NOAA) data. Weather data can also be accessed from geospatial data platforms such as (Integrated Data Repository and Services for Physical Analysis) - Geoscope. PAIRS-Geoscope provides access to historical and continuously updated weather data

[0050] An area of ​​interest may be one or more portions of land (e.g., a field, a plot of land, a farm, a sub-portion of a farm, etc.). As used herein, an "area of ​​interest" refers to any amount of land of any shape or size. For example, an "area of ​​interest" may refer to a grower's entire property, a field, a plot of land, a growing area, a region, or a management area, etc.

[0051] According to some embodiments, a crop growth simulation model (such as DSSAT) is used to generate crop specific parameters, such as leaf area index (LAI), normalized difference vegetation index (NDVI), etc., where a matching algorithm attempts to match crop types from one or more historical crop cycles sown in the area of ​​interest. Various crop growth simulation models are available in the public domain and cover major crop types (DSSAT, for example, can simulate more than 40 crop types worldwide), and models for other crop types may also be implemented.

[0052] In some embodiments, a data assimilation module (e.g., Figure 4 414) can be coupled to one or more crop growth simulation modules for assimilating remote sensing data (e.g., vegetation index, soil moisture and other fields).

[0053] In conjunction with the crop growth simulation model, different data may be used to generate crop specific parameters, including, but not limited to: information in the public domain about the types of crops grown in the area of ​​interest and crop calendars for such crop types, high-resolution geospatial data (e.g., altitude, soil moisture, soil type, etc.), and high-resolution weather and remote sensing data during previous and current crop cycles. For example, the crop growth simulation model may use weather data, soil moisture data, initial crop type, initial planting date, and other data as input to calculate an initial simulated crop growth time series for the LAI. All of these input data may be ingested via a data source ingestion module (e.g., Figure 4 412) into the crop growth simulation model.

[0054] The initial crop type may be selected from crop types that were sown in the area of ​​interest in a previous crop cycle. The initial sowing date may be selected from a sowing calendar for the initial crop type.

[0055] In some embodiments, a database (e.g., Figure 4 406 in Fig. 9928) can provide historical crop cycle information regarding LAI, NDVI, etc. (e.g., historical crop growth time series of LAI for the current crop cycle), which is derived from remote sensing, including field imagery from satellites, aerial drones, aircraft, or through other mechanisms (e.g., ground robots and sensors mounted on field and farm equipment). In some embodiments, the historical crop cycle information provided by the database can be used for the current crop cycle. In other embodiments, the historical crop cycle information provided by the database can be used for one or more previous crop cycles. In some embodiments, the historical crop cycle information provided by the database may include crop-specific parameters and other types of data, such as weather data (e.g., historical crop growth time series of LAI for the current crop cycle as one element of the time series, and weather data for the current crop cycle as one or more other elements of the time series).

[0056] The matching algorithm may take as input crop-specific parameters (e.g., a time series of LAIs of crop types sown in the region of interest during one or more previous crop cycles—e.g., a simulated LAI time series of each crop type sown in the region of interest during one or more previous crop cycles and a historical LAI time series based on remote sensing data captured from the region of interest during the current crop cycle) and calculate the distance between each simulated LAI time series and the historical LAI time series, and then perform a sorting of the calculated distances. For example, the matching algorithm may include a time series distance calculator that attempts to align two data sets via distance matrix time series matching. The first data set provided as input to the time series distance calculator may be a time series data set obtained from a crop growth simulation model, according to some embodiments, having one simulated output per day, but typically a periodically simulated data set. The second data set provided as input to the time series distance calculator may be a time series data set obtained from a remote sensor, according to some embodiments, having one remote sensing input per day from the remote sensor, but typically periodically sensed. The data sets constructed on one input per day utilized in the embodiments described above are exemplary and not limiting. For example, other embodiments may utilize data sets built over multiple inputs per day or over any other suitable periodic duration.

[0057] In the time series distance calculator, according to some embodiments, each element in the time series is matched. That is, a difference is calculated between each element of the simulated data and the observed data, and a difference score is calculated and stored. The difference score can be calculated by adding the calculated differences (i.e., the differences calculated for the corresponding elements in the time series). The observed data can be a historical crop growth time series of an area of ​​interest, and include one or more elements, including one or more crop specific parameters (e.g., LAI, NDVI, etc.) and optional other data (e.g., weather). The simulated data can be a simulated crop growth time series, which includes the same one or more crop specific parameters (e.g., LAI, NDVI, etc.) and optionally the same other data (e.g., weather).

[0058] In some embodiments, the simulation time series is time-shifted one time slot at a time in either direction (a time slot is a periodic duration at which a snapshot is taken), and the difference score is recalculated and stored. For example, the matching algorithm can send control data to the crop growth simulation model to advance the initial sowing date by one day. The crop growth simulation model can then send the time series of time shifts (i.e., the time series of sowing dates one day ahead of the initial sowing date) to the matching algorithm, which then recalculates and stores the difference score. The matching algorithm can then send control data to the crop growth simulation model to advance the sowing date by another day. The crop growth simulation model then sends another time series of time shifts (i.e., the time series of sowing dates two days ahead of the initial sowing date) to the matching algorithm, which then recalculates and stores the difference score. This sequence can be repeated for each sowing date within the sowing calendar for the crop type, and for each crop type historically grown in the region of interest (or in the crop growth region associated with the region of interest).

[0059] The time series simulated with the lowest difference score can be used as the final result. For example, an estimate of the crop type and / or sowing date can be obtained based on the simulation (i.e., the simulation that produced the lowest difference score). That is, the crop type and sowing date used by the crop growth simulation model in determining the simulation (i.e., the simulation that produced the lowest difference score) provide an estimate of the crop type and / or sowing date.

[0060] An emerging information technology (IT) delivery model is cloud computing, through which shared resources, software, and information are provided to computers and other devices on demand via the Internet. Cloud computing can significantly reduce IT costs and complexity while improving workload optimization and service delivery. In this way, application instances can be hosted and available from Internet-based resources accessible through conventional web browsers over HTTP. An example application can be an application that provides a set of public messaging functions (such as email, calendar, contact management, and instant messaging). Users will then access the service directly over the Internet. Using this service, an enterprise will place its email, calendar, and / or collaboration infrastructure in the cloud, and the end user will use the appropriate client to access his or her email, or perform calendar operations.

[0061] It should be understood that although the present disclosure includes detailed descriptions about cloud computing, the implementation of the teachings set forth herein is not limited to cloud computing environments. Instead, embodiments of the present invention can be implemented in conjunction with any other type of computing environment now known or later developed.

[0062] Cloud computing is a service delivery model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be quickly provisioned and released with minimal management effort or interaction with the provider of the service. The cloud model can include at least five characteristics, at least three service models, and at least four deployment models.

[0063] Features are as follows:

[0064] On-demand self-service: Cloud consumers can automatically and unilaterally provision computing capacity, such as server time and network storage, as needed, without requiring human interaction with the service provider.

[0065] Broad network access: Capabilities are available over the network and accessed through standard mechanisms that facilitate use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs).

[0066] Resource pooling: A provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, where different physical and virtual resources are dynamically allocated and reallocated as needed. There is a sense of location independence, as consumers typically do not have control or knowledge of the exact location of the provided resources, but may be able to specify the location at a higher level of abstraction (e.g.,

[0067] Rapid elasticity: The ability to provision capacity quickly and elastically, in some cases automatically, to scale down quickly and release quickly to scale up quickly. To the consumer, the capacity available for provisioning generally appears unlimited and can be purchased in any quantity at any time.

[0068] Metered Services: Cloud systems automatically control and optimize resource usage by leveraging metering capabilities at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency to both providers and consumers of the utilized services.

[0069] The service model is as follows:

[0070] Software as a Service (SaaS): The capability provided to the consumer is to use the provider's applications running on a cloud infrastructure. The applications can be accessed from different client devices through a thin client interface such as a web browser (e.g., web-based email). The consumer does not manage or control the underlying cloud infrastructure including the network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.

[0071] Platform as a Service (PaaS): The capability provided to consumers is to deploy applications created or acquired by consumers using programming languages ​​and tools supported by the provider onto the cloud infrastructure. Consumers do not manage or control the underlying cloud infrastructure including networks, servers, operating systems or storage, but have control over the deployed applications and possible configuration of the application hosting environment.

[0072] Infrastructure as a Service (IaaS): The capabilities provided to consumers are the provision of processing, storage, networking, and other basic computing resources, where consumers can deploy and run arbitrary software, which may include operating systems and applications. Consumers do not manage or control the underlying cloud infrastructure, but have control over the operating system, storage, deployed applications, and possibly limited control over selected networking components (e.g., host firewalls).

[0073] The deployment model is as follows:

[0074] Private Cloud: Cloud infrastructure is operated only for the organization. It can be managed by the organization or a third party and can exist on-premises or off-premises.

[0075] Community Cloud: Cloud infrastructure is shared by several organizations and supports a specific community with shared concerns (e.g., mission, security requirements, policies, and compliance considerations). It can be managed by the organization or a third party and can exist on-premises or off-premises.

[0076] Public cloud: Cloud infrastructure is made available to the general public or large industry groups and is owned by an organization that sells cloud services.

[0077] Hybrid cloud: A cloud infrastructure is a combination of two or more clouds (private, community, or public) that remain unique entities but are bound together by standardized or proprietary technologies that enable data and application portability (e.g., cloud bursting for load balancing between clouds).

[0078] Cloud computing environments are service-oriented and focus on statelessness, low coupling, modularity, and semantic interoperability. At the core of cloud computing is the infrastructure that includes a network of interconnected nodes.

[0079] See now Figure 1 , a schematic diagram of an example of a cloud computing node is shown. Cloud computing node 10 is merely one example of a suitable cloud computing node and is not intended to impose any limitation on the scope of use or functionality of the embodiments of the invention described herein. Regardless, cloud computing node 10 is capable of implementing and / or performing any of the functions set forth above.

[0080] In the cloud computing node 10, there is a computer system / server 12, which can operate with many other general or special computing system environments or configurations. Examples of well-known computing systems, environments and / or configurations that can be suitable for the computer system / server 12 include, but are not limited to, personal computer systems, server computer systems, thin clients, thick clients, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, small computer systems, large computer systems, and distributed cloud computing environments including any of the above systems or devices, etc.

[0081] Computer system / server 12 may be described in the general context of computer system executable instructions (e.g., program modules) executed by a computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, etc. that perform specific tasks or implement specific abstract data types. Computer system / server 12 may be practiced in a distributed cloud computing environment, where tasks are performed by remote processing devices linked through a communications network. In a distributed cloud computing environment, program modules may be located in local and remote computer system storage media including memory storage devices.

[0082] like Figure 1 As shown, the computer system / server 12 in the cloud computing node 10 is shown in the form of a general-purpose computing device. The components of the computer system / server 12 may include, but are not limited to, one or more processors or processing units 16, a system memory 28, and a bus 18 that couples different system components including the system memory 28 to the processor 16.

[0083] Bus 18 represents any one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of architectures. By way of example and not limitation, such architectures include an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MCA) bus, an Enhanced ISA (EISA) bus, a Video Electronics Standards Association (VESA) local bus, and a Peripheral Component Interconnect (PCI) bus.

[0084] Computer system / server 12 typically includes a variety of computer system readable media. Such media can be any available media that can be accessed by computer system / server 12, and it includes volatile and nonvolatile media, as well as removable and non-removable media.

[0085] The system memory 28 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) 30 and / or cache memory 32. The computer system / server 12 may further include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, a storage system 34 may be provided for reading and writing from non-removable non-volatile magnetic media (not shown, and generally referred to as a "hard drive") and other non-removable non-volatile media (e.g., a "solid state drive"). Although not shown, a disk drive for reading and writing from a removable non-volatile disk (e.g., a "floppy disk") to a removable non-volatile disk, and an optical disk drive for reading and / or writing from a removable non-volatile optical disk (e.g., a CD-ROM, DVD-ROM or other optical media) to a removable non-volatile optical disk may be provided. In such a case, each may be connected to the bus 18 via one or more data media interfaces. As will be further described below, memory 28 may include a computer program product storing a set (eg, at least one) of program modules 42 including computer readable instructions configured to perform one or more features of the present invention.

[0086] A program / utility 40 having a set (at least one) of program modules 42, as well as an operating system, one or more application programs, other program modules, and program data may be stored in memory 28 by way of example and not limitation. Each or some combination of the operating system, one or more application programs, other program modules, and program data may include an implementation of a network environment. In some embodiments, program modules 42 are adapted to generally perform one or more functions and / or methods of one or more embodiments.

[0087] The computer system / server 12 may also communicate with one or more external devices 14 (e.g., keyboard, pointing device, display 24, etc.); and / or any device that enables the computer system / server 12 to communicate with one or more other computing devices (e.g., network card, modem, etc.). Such communication may be performed via input / output (I / O) interface 22. Further, the computer system / server 12 may communicate with one or more networks such as a local area network (LAN), a general wide area network (WAN), and / or a public network (e.g., the Internet) via a network adapter 20. As shown, the network adapter 20 communicates with other components of the computer system / server 12 via bus 18. It should be understood that, although not shown, other hardware and / or software components may be used in conjunction with the computer system / server 12. Examples include, but are not limited to, microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archiving storage systems, etc.

[0088] See now Figure 2 , depicts an illustrative cloud computing environment 50. As shown, the cloud computing environment 50 includes one or more cloud computing nodes 10 with which a local computing device used by a cloud consumer can communicate, such as, for example, a personal digital assistant (PDA) or cellular phone 54A, a desktop computer 54B, a laptop computer 54C, and / or an automobile computer system 54N. The nodes 10 can communicate with each other. They can be physically or virtually grouped (not shown) in one or more networks, such as a private cloud, community cloud, public cloud, or hybrid cloud, or a combination thereof, as described above. This allows the cloud computing environment 50 to provide infrastructure, platform, and / or software as a service for which the cloud consumer does not need to maintain resources on a local computing device. It should be understood that Figure 2 The types of computing devices 54A-N shown in are intended to be illustrative only, and computing node 10 and cloud computing environment 50 may communicate with any type of computerized device over any type of network and / or network-addressable connection (eg, using a web browser).

[0089] See now Figure 3 , showing the cloud computing environment 50 ( Figure 2 ) provides a set of functional abstraction layers. It should be understood in advance that Figure 3 The components, layers, and functions shown in are intended to be illustrative only, and embodiments of the present invention are not limited thereto. As described, the following layers and corresponding functions are provided:

[0090] The hardware and software layer 60 includes hardware and software components. Examples of hardware components include: mainframes 61; servers based on RISC (Reduced Instruction Set Computer) architecture 62; servers 63; blade servers 64; storage devices 65; and network and networking components 66. In some embodiments, software components include network application server software 67 and database software 68.

[0091] Virtualization layer 70 provides an abstraction layer from which the following examples of virtual entities can be provided: virtual servers 71 ; virtual storage 72 ; virtual networks 73 , including virtual private networks; virtual applications and operating systems 74 ; and virtual clients 75 .

[0092] In one example, the management layer 80 may provide the functionality described below. Resource provisioning 81 provides dynamic procurement of computing resources and other resources for performing tasks within a cloud computing environment. Metering and pricing 82 provides cost tracking when resources are utilized within a cloud computing environment, and bills or invoices for the consumption of these resources. In one example, these resources may include application software licenses. Security provides authentication for cloud consumers and tasks, as well as protection for data and other resources. User portal 83 provides access to the cloud computing environment for consumers and system administrators. Service level management 84 provides cloud computing resource allocation and management so that the required service levels are met. Service level agreement (SLA) planning and fulfillment 85 provides pre-scheduling and procurement of cloud computing resources in anticipation of future demand according to the SLA.

[0093] The workload layer 90 provides examples of functions that can utilize a cloud computing environment. Examples of workloads and functions that can be provided from this layer include: mapping and navigation 91; software development and lifecycle management 92; virtual classroom education delivery 93; data analysis processing 94; transaction processing 95; and estimation of crop type and / or planting date 96.

[0094] Reference now Figure 4 , depicts an exemplary system 400 for estimating crop type and / or planting date according to one or more embodiments. Figure 4 The exemplary system 400 shown in FIG. 4 includes a crop growth simulator 402, a matching algorithm 404, and a historical crop growth database 406. The matching algorithm 404 matches the simulated crop growth time series generated by the crop growth simulator 402 with the historical crop growth time series received from the historical crop growth database 406 to determine an estimated crop type and / or planting date as an output 408.

[0095] In some embodiments, the crop growth simulator 402 includes one or more crop growth simulation model modules 410, one or more data source ingestion modules 412, and one or more data assimilation modules 414. The crop growth simulator 402 may use the one or more crop growth simulation model modules 410 to determine, for each crop type / sowing date combination within a set of one or more crop types and one or more sowing dates, a simulated crop growth time series for an area of ​​interest based on historical crop data from one or more crop history databases 420, geospatial data from one or more geospatial databases 422, and weather data from one or more weather databases 424 (and optionally, remote sensing data from one or more remote sensing databases 426), over one or more networks 416. Such networks 416 may include wired and wireless networks, including but not limited to cellular networks, wide area networks (WANs) (e.g., the Internet), and / or local area networks (LANs), non-limiting examples of which include cellular, WANs, wireless fidelity (Wi-Fi), Wi-Mal, WLAN, radio communications, microwave communications, satellite communications, optical communications, acoustic wave communications, electromagnetic induction communications, quantum communications, and / or any other suitable communication technology.

[0096] In some embodiments, each simulated crop growth time series generated by the crop growth simulator 402 includes one or more elements including one or more crop-specific parameters (e.g., LAI, NDVI, etc.) and optionally other data (e.g., weather).

[0097] The historical crop data received by the crop growth simulator 402 from the one or more crop history databases 420 may include, for example, crop types historically grown in crop growing areas associated with the region of interest during at least one previous crop cycle and a planting calendar for each of those crop types.

[0098] The geospatial data received by the crop growth simulator 402 from the geospatial data from the one or more geospatial databases 422 may include, for example, agricultural information characterizing an area of ​​interest.

[0099] The weather data received by the crop growth simulator 402 from the one or more weather databases 424 may include, for example, weather time series representing one or more weather conditions in a weather region associated with the region of interest.

[0100] All of these input data (i.e., historical crop data, geospatial data, and weather data received from crop history, geospatial, and weather databases 420, 422, and 424, respectively) can be ingested into the crop growth simulator 402 by one or more data ingestion modules 412. For example, the crop growth simulator 402 can use weather data, soil moisture data, initial crop type, initial planting date, and other data as input to calculate an initial simulated crop growth time series. The initial crop type can be, for example, selected from the crop type that was planted in the area of ​​interest during the previous crop cycle. The initial planting date can be, for example, selected from a planting calendar for the initial crop type.

[0101] Furthermore, all of these input data (i.e., historical crop data, geospatial data, and weather data received from crop historical, geospatial, and weather databases 420, 422, and 424, respectively) may be augmented by remote sensing data from one or more remote sensing databases 426. The optional remote sensing data may be ingested into the crop growth simulator 402 by the one or more data assimilation modules 414.

[0102] The historical crop growth time series received by the matching algorithm 404 from the historical crop growth database 406 can be based on remote sensing data, such as a time series of image data of the region of interest. In some embodiments, the historical crop growth time series includes one or more elements including one or more crop specific parameters (e.g., LAI, NDVI, etc.) and optionally other data (e.g., weather).

[0103] exist Figure 4 In the illustrated embodiment, the historical crop growth time series received by the matching algorithm 404 from the historical crop growth database 406 is calculated by the historical crop growth calculation unit 430. For example, the historical crop growth calculation unit 430 may periodically (e.g., daily) receive remote sensing data (e.g., satellite image data of an area of ​​interest) from one or more remote sensing databases 426 via one or more networks 416, calculate one or more crop-specific parameters (e.g., LAI, NDVI, etc.) based on the received remote sensing data, and use the calculated one or more crop-specific parameters to update the historical crop growth time series stored in the historical crop growth database 406.

[0104] The matching algorithm 404 includes one or more time series distance calculation modules 440, which attempt to align two data sets (i.e., the simulated crop growth time series received from the crop growth simulator 402 and the historical crop growth time series received from the historical crop growth database 406). In some embodiments, the two data sets have a daily periodic duration. However, such data sets constructed on one input per day are exemplary and non-limiting. For example, other embodiments can utilize data sets established on multiple inputs per day or on any other suitable periodic duration.

[0105] In the time series distance calculation module 440, according to some embodiments, each element in the corresponding time series is matched. That is, a difference is calculated between each element of the simulated crop growth time series from the crop growth simulator 402 and each element of the historical crop growth time series from the historical crop growth database 406, and a difference score is calculated and stored. The difference score can be calculated by adding the calculated differences (i.e., the differences calculated for the corresponding elements in the time series).

[0106] In some embodiments, the initial simulated crop growth time series is then time-shifted one time slot at a time in either direction (a time slot is a periodic duration for taking snapshots), and the difference scores are recalculated and stored. For example, the matching algorithm 404 can send control data to the crop growth simulator 402 to advance the initial sowing date by one day. The crop growth simulator 402 can then send the time series of time shifts (i.e., the time series of sowing dates one day ahead of the initial sowing date) to the matching algorithm 404, and then the time series distance calculation module 440 recalculates and stores the difference scores. The matching algorithm 404 can then send control data to the crop growth simulator 402 to advance the sowing date by another day. The crop growth simulator 402 then sends another time series of time shifts (i.e., the time series of sowing dates two days ahead of the initial sowing date) to the matching algorithm 404, and then the time series distance calculation module 440 recalculates and stores the difference scores. This sequence can be repeated for each sowing date within the sowing calendar of the crop type, and for each crop type that has been historically grown in the region of interest (or in the crop growth region associated with the region of interest). The matching algorithm 404 may then determine the time series simulated with the lowest difference score, ie, the particular simulation generated by the crop growth simulator 402 that produced the lowest difference score.

[0107] The time series simulated with the lowest difference score may be taken as the final result. For example, the matching algorithm 404 may output an estimate of the crop type and / or planting date based on that simulation (i.e., the simulation that produced the lowest difference score). In other words, the estimate of the crop type and / or planting date output 408 of the matching algorithm 404 may be based on the crop type and planting date that the crop growth simulator 402 used to generate the particular simulation that produced the lowest difference score.

[0108] In some embodiments, the region of interest may include one or more regions (e.g., fields) with different crop types. According to some embodiments, the matching algorithm may use one or more segmentation methods to identify these regions. For example, in some embodiments, the matching algorithm may use a pixel-by-pixel approach, where each pixel is matched and a similarity threshold is applied to determine the boundaries of these regions.

[0109] In some embodiments, the matching algorithm may use a field-by-field approach, where each field is matched using digitized field boundaries. The digitized field boundaries may be generated, for example, by digitizing a farm map outline using orthogonal photographs (e.g., 1 m resolution). In another example, a client system (e.g., Fig. 9 902) can provide position coordinates and / or plate data, from which digitized field boundaries can be generated.

[0110] See now Figure 5 , depicts a flow chart of an illustrative method 500 for estimating crop type and / or planting date according to one or more embodiments. The method 500 sets forth a preferred order of blocks. However, it must be understood that the various blocks may occur at any time relative to each other.

[0111] Method 500 begins by providing a historical crop growth time series for a region of interest based on remote sensing data (block 502). For example, a matching algorithm may receive (e.g., from a historical crop growth database) a historical crop growth time series for a region of interest based on remote sensing data (such as a time series of image data for the region of interest). The historical crop growth time series may be determined using a historical crop growth calculation unit, for example, which may then store the determined historical crop growth time series in a historical crop growth database for subsequent retrieval by the matching algorithm. In some embodiments, the historical crop growth time series includes one or more elements including one or more crop specific parameters (e.g., LAI, NDVI, etc.) and optionally other data (e.g., weather). For example, the historical growth time series may include a historical LAI time series determined by the historical crop growth calculation unit based on a time series of optical image data for the region of interest (e.g., calculated according to equations (1)-(4) above).

[0112] In some embodiments, the historical crop growth time series for the region of interest may be based on remote sensing data captured during the current crop cycle. Examples of such current crop cycle embodiments are depicted in the following description. Figure 6 and Fig. 7A and 7B middle.

[0113] In some embodiments, the historical crop growth time series for the region of interest may be based on remote sensing data captured during a previous crop cycle. For example, the crop growth time series generated by the crop growth simulation model may be matched with the historical crop growth time series from a previous crop cycle, with a known crop type and a known planting date. Examples of such previous crop cycle implementations are depicted in the following description. Figure 8 middle.

[0114] Method 500 continues by determining a simulated crop growth time series (block 504) for a region of interest for each crop type / sowing date combination within a set of one or more crop types and one or more sowing dates using one or more crop growth simulation models and based on historical crop data, geospatial data, and weather data. For example, a crop growth simulator may use one or more crop growth simulation models to determine a simulated crop growth time series for a region of interest for each crop type / sowing date combination within a set of one or more crop types and one or more sowing dates based on historical crop data from one or more crop history databases, geospatial data from one or more geospatial databases, and weather data from one or more weather databases (and optionally, remote sensing data from one or more remote sensing databases). In some embodiments, each simulated crop growth time series generated by the crop growth simulator includes one or more elements including one or more crop-specific parameters (e.g., LAI, NDVI, etc.) and optionally other data (e.g., weather). For example, each simulated crop growth time series may include a simulated LAI time series determined by one or more crop growth simulation models of the crop growth simulator. The DSSAT crop growth simulation model, for example, inherently simulates LAI.

[0115] The historical crop data received by the crop growth simulator may include, for example, crop types historically grown in a crop growing region associated with the region of interest during at least one previous crop cycle and a planting calendar for each of those crop types. The geospatial data received by the crop growth simulator may include, for example, agricultural information characterizing the region of interest. The weather data received by the crop growth simulator may include, for example, a weather time series representing one or more weather conditions in a weather region associated with the region of interest.

[0116] The method 500 continues by matching the historical crop growth time series with each instance of the simulated crop growth time series to determine an estimated crop type and / or planting date (block 506). For example, the matching algorithm may match the simulated crop growth time series generated by the crop growth simulator with the historical crop growth time series received from the historical crop growth database to determine an estimated crop type and / or planting date as output. In some embodiments, the matching algorithm includes one or more time series distance calculation modules that attempt to align the two data sets (i.e., each instance of the simulated crop growth time series received from the crop growth simulator and each instance of the historical crop growth time series received from the historical crop growth database) to determine an estimate of the crop type and / or planting date based on the instance of the simulated crop growth time series that produces the lowest difference score. The method 500 may then end.

[0117] In some embodiments, method 500 may be implemented in a single phase, where both the crop type and the planting date are estimated simultaneously. Figure 6 An exemplary single-stage implementation is described in . In some embodiments, method 500 may be implemented in two stages, where the crop type is estimated in the first stage and the planting date is estimated in the second stage. Fig. 7A and 7B An exemplary two-stage implementation is depicted in .

[0118] In some embodiments, method 500 may be implemented using a time series having elements that include other data (eg, weather) in addition to one or more crop-specific parameters.

[0119] See now Figure 6 , depicts a flow chart of an exemplary method 600 for estimating crop type and / or planting date according to one or more embodiments. Figure 6 Depicted Figure 5 An exemplary implementation of an illustrative method for estimating crop type and / or planting date is shown in . Method 600 sets forth a preferred order of blocks. However, it must be understood that the various blocks may occur at any time relative to each other.

[0120] The method 600 begins by receiving remote sensing data including a time series of image data of a region of interest captured during a current crop cycle (block 602). For example, at a historical crop growth computing unit, a time series of image data of a region of interest captured from a remote sensing database during the current crop cycle may be received.

[0121] The method 600 continues by calculating a time series of one or more crop-specific parameters based on the time series of image data (block 604). For example, at a historical crop growth calculation unit, a time series of one or more crop-specific parameters (e.g., LAI, NDVI, etc.) based on the time series of image data may be calculated. For example, based on the time series of optical image data of the region of interest, the historical crop growth calculation unit may calculate the LAI time series according to equations (1)-(4) above.

[0122] Next, method 600 continues by determining a historical crop growth time series having one or more elements including the one or more crop specific parameters (block 606). For example, at a historical crop growth calculation unit, a historical crop growth time series having one or more elements including one or more crop specific parameters (e.g., LAI, NDVI, etc.) may be determined. In some embodiments, the historical crop growth time series determined in block 606 may include the time series calculated in block 604 without any additional elements. For example, a historical LAI time series may be determined. In some embodiments, the historical crop growth time series determined in block 606 may include the time series calculated in block 604, plus one or more additional elements, such as weather data.

[0123] In some embodiments, the historical crop growth time series determined in block 606 may be provided directly as input to the matching algorithm. In some embodiments, the historical crop growth time series determined in block 606 may be stored in a historical crop growth database and subsequently provided to the matching algorithm.

[0124] In some embodiments, blocks 602, 604, and 606 may correspond to Figure 5 5. Box 502 in (ie, providing a historical crop growth time series for an area of ​​interest based on remote sensing data).

[0125] The method 600 continues by receiving historical crop data including crop types historically grown in the crop growing area associated with the area of ​​interest during at least one previous crop cycle and a planting calendar for each crop type (block 608). For example, at a crop growth simulator, historical crop data may be received including crop types historically grown in the crop growing area associated with the area of ​​interest during at least one previous crop cycle and a planting calendar for each of those crop types. In some embodiments, the historical crop data may be received from a crop history database over a network and ingested into a crop growth simulation model of the crop growth simulator via a data source ingest module.

[0126] Next, the method 600 continues by receiving geospatial data including agricultural information characterizing the region of interest (block 610). For example, at a crop growth simulator, geospatial data including agricultural information characterizing the region of interest may be received. In some embodiments, the geospatial data may be received from a geospatial database over a network and ingested into a crop growth simulation model of the crop growth simulator via a data source ingest module.

[0127] The method 600 then continues by receiving weather data including a time series representing one or more weather conditions in a weather region associated with the region of interest during the current crop cycle (block 612). For example, at a crop growth simulator, weather data including a time series representing one or more weather conditions in a weather region associated with the region of interest during the current crop cycle may be received. In some embodiments, the weather data may be received from a weather database over a network and ingested into a crop growth simulation model of the crop growth simulator via a data source ingest module.

[0128] Next, the method 600 continues by determining, for each crop type / planting date combination within a set of crop types historically grown in the crop growing region and a plurality of planting dates within the planting calendars for those crop types, a simulated crop growth time series having one or more elements including the one or more crop-specific parameters (block 614). For example, at a crop growth simulator, a plurality of simulated crop growth time series may each be determined using one or more elements including one or more crop-specific parameters (e.g., LAI, NDVI, etc.), i.e., the same crop-specific parameters as the historical crop growth time series determined in block 606. In some embodiments, a crop growth simulation model of the crop growth simulator determines one simulated crop growth time series for each crop type / planting date combination. For example, at a crop growth simulator, a simulated LAI time series may be determined for each crop type / planting date combination using the DSSAT crop growth simulation model (which inherently simulates LAI).

[0129] In some embodiments, the plurality of simulated crop growth time series determined in block 614 may include one or more crop-specific parameters (e.g., LAI, NDVI, etc.) without any additional elements. For example, a plurality of simulated LAI time series may be determined. In some embodiments, the plurality of simulated crop growth time series determined in block 614 may include one or more crop-specific parameters (e.g., LAI, NDVI, etc.) plus one or more additional elements, such as weather data.

[0130] In some embodiments, the plurality of simulated crop growth time series determined in block 614 may be provided in batches as input to the matching algorithm. In some embodiments, the plurality of simulated crop growth time series determined in block 614 may be selectively provided as input to the matching algorithm (e.g., one simulated crop growth time series at a time in response to control data).

[0131] In some embodiments, blocks 608, 610, 612, and 614 may correspond to Figure 5 Box 504 in (i.e., for each crop type / planting date combination within a set of one or more crop types and one or more planting dates, using one or more crop growth simulation models and determining a simulated crop growth time series for an area of ​​interest based on historical crop data, geospatial data, and weather data).

[0132] The method 600 continues by calculating a difference score for each crop type / planting date combination based on one or more differences, each difference being calculated as a distance between an element of the simulated crop growth time series and a corresponding element of the historical crop growth time series (block 616). For example, at the matching algorithm, a difference between each simulated crop growth time series from the crop growth simulator and each element of the historical crop growth time series from the historical crop growth database may be calculated, and a difference score may be calculated and stored. The difference score may be calculated by adding the calculated differences (i.e., the differences calculated for corresponding elements in the time series).

[0133] Next, the method 600 continues by determining an estimated crop type and planting date based on the crop type and planting date associated with the lowest difference score (block 618). For example, in the matching algorithm, the time series simulated with the lowest difference value can be used as the final result. For example, the matching algorithm can output an estimate of the crop type and / or planting date based on this simulation (i.e., the simulation that produced the lowest difference score). In other words, the estimate of the crop type and / or planting date output by the matching algorithm can be based on the crop type and planting date used by the crop growth simulator to generate the particular simulation that produced the lowest difference score. The method 600 can then end.

[0134] In some embodiments, blocks 616 and 618 may correspond to Figure 5 5. Block 506 in (ie, matching the historical crop growth time series with each instance of the simulated crop growth time series to determine an estimated crop type and / or planting date).

[0135] See now Fig. 7A and 7B, depicts a flow chart of an exemplary method 700 for estimating crop type and / or planting date according to one or more embodiments. Fig. 7A and 7B Depicted Figure 5 An exemplary two-stage implementation of an illustrative method of estimating crop type and / or planting date is shown, wherein the crop type and planting date are estimated separately in two stages. Fig. 7A corresponds to the first stage, where crop types are estimated; Figure 7B Corresponding to the second phase, in which the sowing date is estimated. Method 700 illustrates a preferred order of blocks. However, it must be understood that the various blocks may occur at any time relative to each other.

[0136] The method 700 begins by receiving remote sensing data including a time series of image data of a region of interest captured during a current crop cycle (block 702). For example, at a historical crop growth computing unit, a time series of image data of a region of interest captured during the current crop cycle from a remote sensing database may be received.

[0137] The method 700 continues by calculating a time series of one or more crop-specific parameters based on the time series of image data (block 704). For example, at a historical crop growth calculation unit, a time series of one or more crop-specific parameters (e.g., LAI, NDVI, etc.) based on the time series of image data may be calculated. For example, based on the time series of optical image data of the region of interest, the historical crop growth calculation unit may calculate the LAI time series according to equations (1)-(4) above.

[0138] Next, the method 700 continues by determining a historical crop growth time series having one or more elements including one or more crop specific parameters (block 706). For example, at a historical crop growth calculation unit, a historical crop growth time series having one or more elements including one or more crop specific parameters (e.g., LAI, NDVI, etc.) may be determined. In some embodiments, the historical crop growth time series determined in block 706 may include the time series calculated in block 704 without any additional elements. For example, a historical LAI time series may be determined. In some embodiments, the historical crop growth time series determined in block 706 may include the time series calculated in block 704, plus one or more additional elements, such as weather data.

[0139] In some embodiments, the historical crop growth time series determined in block 706 may be provided directly as input to a matching algorithm. In some embodiments, the historical crop growth time series determined in block 706 may be stored in a historical crop growth database and subsequently provided to a matching algorithm.

[0140] In some embodiments, blocks 702, 704, and 706 may correspond to Figure 5 5. Box 502 in (ie, providing a historical crop growth time series for an area of ​​interest based on remote sensing data).

[0141] The method 700 continues by receiving historical crop data (block 708), the historical crop data including crop types historically grown in crop growing areas associated with the region of interest during at least one previous crop cycle and a planting calendar for each crop type. For example, at a crop growth simulator, historical crop data may be received that includes crop types historically grown in crop growing areas associated with the region of interest during at least one previous crop cycle and a planting calendar for each of those crop types. In some embodiments, the historical crop data may be received from a crop history database over a network and ingested into a crop growth simulation model of a crop growth simulator via a data source ingest module.

[0142] Next, the method 700 continues by receiving geospatial data including agricultural information characterizing the region of interest (block 710). For example, at a crop growth simulator, geospatial data including agricultural information characterizing the region of interest may be received. In some embodiments, the geospatial data may be received from a geospatial database over a network and ingested into a crop growth simulation model of the crop growth simulator via a data source ingest module.

[0143] The method 700 then continues by receiving weather data (block 712), the weather data comprising a time series representing one or more weather conditions in a weather region associated with the region of interest during the current crop cycle. For example, at a crop growth simulator, weather data comprising a time series representing one or more weather conditions in a weather region associated with the region of interest during the current crop cycle may be received. In some embodiments, the weather data may be received from a weather database over a network and ingested into a crop growth simulation model of the crop growth simulator via a data source ingest module.

[0144] Next, the method 700 continues by determining an initial simulated crop growth time series having one or more elements including one or more crop-specific parameters for each crop type / sowing date combination within an initial sowing date within a sowing calendar for a set of crop types historically grown in the crop growing region and those crop types (block 714). For example, at a crop growth simulator, a plurality of initial simulated crop growth time series may be determined, each having one or more elements including one or more crop-specific parameters (e.g., LAI, NDVI, etc.), i.e., the same crop-specific parameters as the historical crop growth time series determined in block 706. In some embodiments, a crop growth simulation model of a crop growth simulator determines an initial simulated crop growth time series for each crop type / initial sowing date combination. For example, at a crop growth simulator, an initial simulated LAI time series for each crop type / initial sowing date combination may be determined using a DSSAT crop growth simulation (which inherently simulates LAI) model. In some embodiments, each crop type may have its own initial sowing date. For example, the initial planting date for each crop type can be a predefined date within the planting calendar for that crop type, such as a "start" date for the planting calendar, one of the "most effective" dates for the planting calendar (e.g., a median date for the "most effective" dates), or an "end" date for the planting calendar.

[0145] In some embodiments, the plurality of initial simulated crop growth time series determined in block 714 may include one or more crop specific parameters (e.g., LAI, NDVI, etc.) without any additional elements. For example, a plurality of initial simulated LAI time series may be determined. In some embodiments, the plurality of initial simulated crop growth time series determined in block 714 may include one or more crop specific parameters (e.g., LAI, NDVI, etc.) plus one or more additional elements, such as weather data.

[0146] In some embodiments, the plurality of initial simulated crop growth time series determined in block 714 may be provided in batches as input to the matching algorithm. In some embodiments, the plurality of initial simulated crop growth time series determined in block 714 may be selectively provided as input to the matching algorithm (e.g., one initial simulated crop growth time series at a time in response to control data).

[0147] In some embodiments, blocks 708, 710, 712, and 714 may correspond to Figure 5The first instance of box 504 in (i.e., for each crop type / planting date combination within a set of one or more crop types and one or more planting dates, using one or more crop growth simulation models and determining a simulated crop growth time series for an area of ​​interest based on historical crop data, geospatial data, and weather data).

[0148] The method 700 continues by calculating the difference between each element of the initial simulated crop growth time series and each corresponding element of the historical crop growth time series for each crop type / planting date combination (block 716). For example, at the matching algorithm, the difference between each initial simulated crop growth time series from the crop growth simulator and each element of the historical crop growth time series from the historical crop growth database may be calculated.

[0149] Next, the method 700 continues by calculating a difference score by summing each difference calculated for each crop type / planting date combination (block 718). For example, at the matching algorithm, the difference score for each crop type / initial planting date combination may be calculated by summing the calculated differences (i.e., the differences calculated for the corresponding elements of the time series).

[0150] The method 700 continues by ranking the difference scores for each crop type / planting date combination (block 720). For example, under a matching algorithm, the difference scores for each crop type / initial planting date combination may be ranked.

[0151] Next, the method 700 continues by sorting the difference scores to identify the lowest difference score (block 722). For example, at a matching algorithm, the difference scores may be sorted to identify the lowest difference score.

[0152] The method 700 continues by determining an estimated crop type based on the crop type associated with the lowest difference score (block 724). For example, at the matching algorithm, the time series simulated with the lowest difference score can be considered as a final result with respect to the crop type. For example, the matching algorithm can output an estimate of the crop type based on that simulation (i.e., the simulation that produced the lowest difference score). In other words, the estimate of the crop type output by the matching algorithm can be based on the crop type used by the crop growth simulator to produce the particular simulation that generated the lowest difference score.

[0153] In some embodiments, blocks 716, 718, 720, 722, and 724 may correspond to Figure 5 The first instance of block 506 in (ie, matching the historical crop growth time series with each instance of the simulated crop growth time series to determine an estimated crop type and / or planting date).

[0154] The method 700 continues by determining a time-shifted simulated crop growth time series having one or more elements including one or more crop-specific parameters for each crop type / planting date combination within a plurality of planting dates within a planting calendar for a set of estimated crop types and the estimated crop type (block 726). For example, at a crop growth simulator, a plurality of time-shifted simulated crop growth time series may be determined, each having one or more elements including one or more crop-specific parameters (e.g., LAI, NDVI, etc.), i.e., the same crop-specific parameters as the historical crop growth time series determined in block 706. In some embodiments, a crop growth simulation model of the crop growth simulator determines one simulated crop growth time series for each estimated crop type / planting date combination. For example, at a crop growth simulator, a simulated LAI time series may be determined for each estimated crop type / planting date combination using a DSSAT crop growth simulation model (which inherently simulates LAI).

[0155] In some embodiments, the multiple time-shifted simulated crop growth time series determined in block 726 may include one or more crop-specific parameters (e.g., LAI, NDVI, etc.) without any additional elements. For example, multiple time-shifted simulated LAI time series may be determined. In some embodiments, the multiple time-shifted simulated crop growth time series determined in block 726 may include one or more crop-specific parameters (e.g., LAI, NDVI, etc.) and one or more additional elements, such as weather data.

[0156] In some embodiments, the plurality of time-shifted simulated crop growth time series determined in block 726 may be provided in batches as input to the matching algorithm. In some embodiments, the plurality of time-shifted simulated crop growth time series determined in block 726 may be selectively provided as input to the matching algorithm (e.g., one time-shifted simulated crop growth time series at a time in response to control data).

[0157] In some embodiments, block 726 may correspond to Figure 5 A second instance of block 504 in (i.e., for each crop type / planting date combination within a set of one or more crop types and one or more planting dates, using one or more crop growth simulation models and determining a simulated crop growth time series for an area of ​​interest based on historical crop data, geospatial data, and weather data).

[0158] The method 700 continues by calculating the difference between each element of the time-shifted simulated crop growth time series and each corresponding element of the historical crop growth time series for each combination of the estimated set of crop types and the plurality of planting dates within the planting calendar for the estimated crop type (block 728). For example, at the matching algorithm, the difference between each time-shifted simulated crop growth time series from the crop growth simulator and each element of the historical crop growth time series from the historical crop growth database may be calculated.

[0159] Next, the method 700 continues by calculating a difference score for each combination of the set of estimated crop types and a plurality of planting dates within the planting calendar for the estimated crop type by summing each difference calculated for the estimated crop type / planting date combination (block 730). For example, at the matching algorithm, a difference score for each estimated crop type / planting date combination may be calculated by summing the calculated differences (i.e., the differences calculated for the corresponding elements of the time series).

[0160] The method 700 continues by ranking the difference scores for each crop type / planting date combination (block 732). For example, at a matching algorithm, the difference scores for each estimated crop type / planting date combination may be ranked.

[0161] Next, the method 700 continues by sorting the difference scores to identify the lowest difference score (block 734). For example, at a matching algorithm, the difference scores may be sorted to identify the lowest difference score.

[0162] The method 700 continues by determining an estimated planting date for the estimated crop type based on the planting date associated with the lowest difference score (block 736). For example, in the matching algorithm, the time series simulated with the lowest difference value can be used as the final result for the planting date. For example, the matching algorithm can output an estimate of the planting date based on this simulation (i.e., the simulation that produced the lowest difference score). In other words, the estimate of the planting date output by the matching algorithm can be based on the planting date used by the crop growth simulator to produce the particular simulation that generated the lowest difference score.

[0163] In some embodiments, blocks 728, 730, 732, 734, and 736 may correspond to Figure 5 The second instance of block 506 (ie, matching the historical crop growth time series to each instance of the simulated crop growth time series to determine an estimated crop type and / or planting date).

[0164] See now Figure 8, depicts a flow chart of an exemplary method 800 for estimating crop type and / or planting date according to one or more embodiments. Figure 8 Depicted Figure 5 Yet another exemplary implementation of an illustrative method for estimating a crop type and / or planting date is shown, wherein the crop type and planting date are estimated relative to a previous crop cycle. Method 800 illustrates a preferred order of blocks. However, it must be understood that the various blocks may occur at any time relative to each other.

[0165] In some embodiments, when the crop type and planting date planted during a previous crop cycle are known, the estimates of crop type and planting date provided by method 800 may be used to train a crop growth simulator and / or matching algorithm.

[0166] The method 800 begins by receiving remote sensing data including a time series of image data of a region of interest captured during a previous crop cycle (block 802). For example, at a historical crop growth computing unit, a time series of image data of a region of interest captured from a remote sensing database during a previous crop cycle may be received.

[0167] The method 800 continues by calculating a time series of one or more crop-specific parameters based on the time series of image data (block 804). For example, at a historical crop growth calculation unit, a time series of one or more crop-specific parameters (e.g., LAI, NDVI, etc.) based on the time series of image data may be calculated. For example, based on the time series of optical image data of the region of interest, the historical crop growth calculation unit may calculate the LAI time series according to equations (1)-(4) above.

[0168] Next, method 800 continues by determining a historical crop growth time series having one or more elements including one or more crop specific parameters (block 806). For example, at a historical crop growth calculation unit, a historical crop growth time series having one or more elements including one or more crop specific parameters (e.g., LAI, NDVI, etc.) may be determined. In some embodiments, the historical crop growth time series determined in block 806 may include the time series calculated in block 804 without any additional elements. For example, a historical LAI time series may be determined. In some embodiments, the historical crop growth time series determined in block 806 may include the time series calculated in block 804, plus one or more additional elements, such as weather data.

[0169] In some embodiments, the historical crop growth time series determined in block 806 may be provided directly as input to the matching algorithm. In some embodiments, the historical crop growth time series determined in block 806 may be stored in a historical crop growth database and subsequently provided to the matching algorithm.

[0170] In some embodiments, blocks 802, 804, and 806 may correspond to Figure 5 5. Box 502 in (ie, providing a historical crop growth time series for an area of ​​interest based on remote sensing data).

[0171] The method 800 continues by receiving historical crop data (block 808), the historical crop data including crop types historically grown in crop growing areas associated with the region of interest during at least one previous crop cycle and a planting calendar for each crop type. For example, at a crop growth simulator, historical crop data may be received that includes crop types historically grown in crop growing areas associated with the region of interest during at least one previous crop cycle and a planting calendar for each of those crop types. In some embodiments, the historical crop data may be received from a crop history database over a network and ingested into a crop growth simulation model of a crop growth simulator via a data source ingest module.

[0172] Next, the method 800 continues by receiving geospatial data including agricultural information characterizing the region of interest (block 810). For example, at a crop growth simulator, geospatial data including agricultural information characterizing the region of interest may be received. In some embodiments, the geospatial data may be received from a geospatial database over a network and ingested into a crop growth simulation model of the crop growth simulator via a data source ingest module.

[0173] The method 800 then continues by receiving weather data, the weather data comprising a previous crop cycle weather time series representing one or more weather conditions in a weather region associated with the region of interest during a previous crop cycle (block 812). For example, at a crop growth simulator, weather data may be received that comprises a previous crop cycle weather time series representing one or more weather conditions in a weather region associated with the region of interest during a previous crop cycle (i.e., the same crop cycle in which the image data used in block 802 was captured). The previous crop cycle weather time series may, for example, cover the same time period (e.g., March 1 to May 31) and the same periodic duration (e.g., daily) as the time series of one or more crop-specific parameters calculated in block 804. In some embodiments, the weather data may be received from a weather database over a network and ingested into a crop growth simulation model of the crop growth simulator via a data source ingestion module.

[0174] Next, method 800 continues by determining a simulated crop growth time series having one or more elements including the one or more crop-specific parameters for each crop type / planting date combination within a plurality of planting dates within a planting calendar for those crop types historically grown in the crop growing region (block 814). For example, at a crop growth simulator, a plurality of simulated crop growth time series may each be determined using one or more elements including one or more crop-specific parameters (e.g., LAI, NDVI, etc.), i.e., the same crop-specific parameters as the historical crop growth time series determined in block 806. In some embodiments, a crop growth simulation model of a crop growth simulator determines a simulated crop growth time series for each crop type / planting date combination. For example, at a crop growth simulator, a simulated LAI time series may be determined for each crop type / planting date combination using a DSSAT crop growth simulation model (which inherently simulates LAI).

[0175] In some embodiments, the plurality of simulated crop growth time series determined in block 814 may be provided in batches as input to the matching algorithm. In some embodiments, the plurality of simulated crop growth time series determined in block 814 may be provided selectively as input to the matching algorithm (e.g., one simulated crop growth time series at a time in response to control data).

[0176] In some embodiments, blocks 808, 810, 812, and 814 may correspond to Figure 5Box 504 in (i.e., for each crop type / planting date combination within a set of one or more crop types and one or more planting dates, using one or more crop growth simulation models and determining a simulated crop growth time series for an area of ​​interest based on historical crop data, geospatial data, and weather data).

[0177] The method 800 continues by calculating a difference score based on one or more differences for each crop type / planting date combination, each difference being calculated as a distance between an element of the simulated crop growth time series and a corresponding element of the historical crop growth time series (block 816). For example, at a matching algorithm, a difference between each simulated crop growth time series from a crop growth simulator and each element of a historical crop growth time series from a historical crop growth database may be calculated, and a difference score may be calculated and stored. The difference score may be calculated by adding the calculated differences (i.e., the differences calculated for corresponding elements in the time series).

[0178] Next, the method 800 continues by determining an estimated crop type and planting date based on the crop type and planting date associated with the lowest difference score (block 818). For example, in the matching algorithm, the time series of the simulation with the lowest difference score can be used as the final result. For example, the matching algorithm can output an estimate of the crop type and / or planting date based on this simulation (i.e., the simulation that produced the lowest difference score). In other words, the estimate of the crop type and / or planting date output by the matching algorithm can be based on the crop type and planting date used by the crop growth simulator to generate the crop type and planting date for the particular simulation that produced the lowest difference score. The method 800 can then end.

[0179] In some embodiments, blocks 816 and 818 may correspond to Figure 5 5. Block 506 in (ie, matching the historical crop growth time series with each instance of the simulated crop growth time series to determine an estimated crop type and / or planting date).

[0180] See now Fig. 9, a block diagram of an example non-limiting system 900 for facilitating estimation of crop type and / or planting date according to one or more embodiments is shown. For the sake of brevity, repeated descriptions of similar elements employed in other embodiments described herein are omitted. Various aspects of the systems (e.g., system 900, etc.), devices, or processes explained in the present disclosure may constitute machine-executable program modules embodied in a machine (e.g., embodied in one or more computer-readable media associated with one or more machines). Such program modules, when executed by one or more machines (e.g., one or more computers, one or more computing devices, one or more virtual machines, etc.), may cause one or more machines to perform the described operations.

[0181] like Fig. 9 As shown, system 900 may include one or more client systems (e.g., mobile devices) 902, 912, one or more server systems 904, 914, one or more networks 906, one or more crop history databases 920, one or more geospatial databases 922, one or more weather databases 924, one or more remote sensing databases 926, and one or more historical crop growth databases 928. It should be understood that one or more client systems 902, 912, one or more server systems 904, 914, one or more crop history databases 920, one or more geospatial databases 922, one or more weather databases 924, one or more remote sensing databases 926, and one or more historical crop growth databases 928 may be equipped with communication equipment (e.g., one or more communication components 930 described below with respect to client system 902) that enables communication between one or more client systems 902, 912, one or more server systems 904, 914, one or more crop history databases 920, one or more geospatial databases 922, one or more weather databases 924, one or more remote sensing databases 926, and one or more historical crop growth databases 928 on one or more networks 906.

[0182] The client systems 902, 912 may include functionality described herein with respect to requesting an estimate of crop type and / or sowing date and displaying the estimated results. One or more client systems 902, 912 may be used to send crop type and sowing date estimation requests to the one or more server systems 904, 914 and display the estimated results returned from the one or more server systems 904, 914. For example, requests to estimate crop type and / or sowing date may originate from farmers and agriculture, such as commodity trading, seed supply, pesticide manufacturing and logistics services, and government entities. The client system 912 may be a client system of a different type from the client system 902. The client system 912 may also be the client system 902 and / or include one or more components of the client system 902. It should be understood that in the following discussion using more than one client system, the client system may include one or more client systems 902 and / or one or more client systems 912.

[0183] Client systems 902, 912 may include, for example, one or more mobile phones (e.g., Fig.10 1002), tablet computer, PDA, laptop or other mobile device.

[0184] Server systems 904, 914 may include the functionality described herein with respect to estimating crop type and / or planting date (e.g., Figure 5 904). The server system 914 may be a client system of a different type than the server system 904. The server system 914 may also be the server system 904 and / or include one or more components of the server system 904. It should be understood that in the following discussion of using more than one server system, the server system may include one or more server systems 904 and / or one or more server systems 914.

[0185] The various components of the system 900 (e.g., client systems 902, 912, server systems 904, 914, crop history database 920, geospatial database 922, weather database 924, remote sensing database 926, historical crop growth database 928, communication components 930, 950, memory 932, 952, processors 938, 958, display 942, keyboard 944, GPS 946, camera 948, and / or other components) may be connected directly or via one or more networks 906. Such networks 906 may include wired and wireless networks, including but not limited to cellular networks, wide area networks (WANs) (e.g., the Internet), and / or local area networks (LANs), non-limiting examples of which include cellular, WANs, wireless fidelity (Wi-Fi), Wi-Mal, WLAN, radio communications, microwave communications, satellite communications, optical communications, acoustic wave communications, electromagnetic induction communications, quantum communications, and / or any other suitable communication technology.

[0186] The client system 902 may include one or more communication components 930 that enable the client system 902 to communicate with one or more server systems 904, 914, one or more other client devices 912, one or more crop history databases 920, one or more geospatial databases 922, one or more weather databases 924, one or more remote sensing databases 926, and / or one or more historical crop growth databases 928 over one or more networks 906 via wireless and / or wired communications. For example, the one or more communication components 930 may correspond to Figure 1 Network adapter 20 in.

[0187] The client system 902 may include or otherwise be associated with at least one memory 932 that may store computer executable program modules (e.g., the computer executable program modules may include, but are not limited to, a crop type and planting date estimate request / display module 934 and associated program modules). The crop type and planting date estimate request / display module 934 may correspond to Figure 1 The client system 902 may also include or otherwise be associated with at least one processor 938 that executes computer-executable program modules stored in the memory 932. The client system 902 may further include a system bus 940 that may couple various components including, but not limited to, the communication component 930, the memory 932, the processor 938, the display 942, the user input device 944, the GPS 946, the camera 948, and / or other components (e.g., accelerometers, gyroscopes, magnetometers).

[0188] Although client system 902 Fig. 9 9 as including a crop type and planting date estimate request / display module 934, in other embodiments, any number of different types of devices may be associated with or include all or some of the crop type and planting date estimate request / display module 934. For example, one or more server systems 904, 914 may include all or some of the crop type and planting date estimate request / display module 934. In other words, data processing associated with requesting estimates of crop type and / or planting date and displaying the results of the estimates may be performed locally (e.g., using processor 938) and / or remotely (e.g., at server system 904 using processor 958). All such embodiments are contemplated.

[0189] The client system 902 may also include or otherwise be associated with at least one display 942 that may display the estimation results and information related to using the crop type and planting date estimation request / display module 934 (e.g., describing one or more input options that may be entered into the region of interest, such as typing in coordinates defining the region of interest, using GPS-derived geographic location data defining the region of interest, and / or using image data defining the region of interest). The display 942 may be any suitable display device. For example, the display 942 may be a display integrated into a mobile phone, tablet computer, PDA, or laptop computer. In other embodiments, the display 942 may be a component of a device that is communicatively coupled to the mobile phone, tablet, PDA, or laptop computer. In some embodiments, the display 942 may be a touch screen that allows a user to interact with the client system 902 using her / his finger or a stylus.

[0190] The client system 902 may also include or otherwise be associated with at least one user input device 944, such as a keyboard and / or pointing device (e.g., a graphic tablet, a mouse, a stylus, a pointing stick, a trackball, etc.), through which a user may provide input data (e.g., input data defining an area of ​​interest). The user input device 944 may be any suitable user input device. For example, the user input device 944 may be a keyboard and / or pointing device integrated into a mobile phone, a tablet computer, a PDA, or a laptop computer. In other embodiments, the user input device 944 may be a component of a device communicatively coupled to the mobile phone, tablet computer, PDA, or laptop computer.

[0191] The client system 902 may also include or otherwise be associated with at least one GPS 946 that may provide geolocation data (e.g., geolocation data defining an area of ​​interest). The GPS 946 may be any suitable global satellite-based geolocation system, such as a global positioning system (GPS), a global navigation satellite system (GLONASS), Galileo, a quasi-zenith satellite system (QZSS), or the like. For example, the GPS 946 may be a global satellite-based geolocation system integrated into a mobile phone, a tablet computer, a PDA, or a laptop computer. In other embodiments, the GPS 946 may be a component of a device communicatively coupled to the mobile phone, the tablet computer, the PDA, or the laptop computer.

[0192] The client system 902 may also include or otherwise be associated with at least one camera 948 that can capture images (e.g., images of a platform map or other images defining an area of ​​interest). The camera 948 may be any suitable image capture device. For example, the camera 948 may be a camera integrated into a mobile phone, tablet computer, PDA, or laptop computer. In other embodiments, the camera 948 may be a component of a device that is communicatively coupled to the mobile phone, tablet, PDA, or laptop computer.

[0193] The server system 904 may include one or more communication components 950 that enable the server system 904 to communicate with one or more client systems 902, 912, one or more other server devices 914, one or more crop history databases 920, one or more geospatial databases 922, one or more weather databases 924, one or more remote sensing databases 926, and / or one or more historical crop growth databases 928 over one or more networks 906 via wireless and / or wired communications. For example, the one or more communication components 950 may correspond to Figure 1 Network adapter 20 in.

[0194] The server system 904 may include or otherwise be associated with at least one memory 952 that may store computer executable program modules (e.g., the computer executable program modules may include, but are not limited to, a crop growth simulator module 954, a matching algorithm module 956, and associated program modules). The crop growth simulator module 954 and the matching algorithm module 956 may correspond to Figure 1 Program module 42 and Figure 4The server system 904 may also include or otherwise be associated with at least one processor 958 that executes computer executable program modules stored in the memory 952. The server system 904 may also include a system bus 960 that may couple various components, including but not limited to the communication component 950, the memory 952, the processor 958, and / or other components.

[0195] Although the server system 904 Fig. 9 954 and matching algorithm module 956, but in other embodiments, any number of different types of devices may be associated with or include all or some of the crop growth simulator module 954 and the matching algorithm module 956. For example, one or more client systems 902, 912 may include all or some of the crop growth simulator module 954 and / or the matching algorithm module 956. In other words, data processing associated with the crop growth simulator module 954 and / or the matching algorithm module 956 may be performed locally (e.g., using processor 958) and / or remotely (e.g., using processor 938 at the client system 902). All such embodiments are contemplated.

[0196] The one or more crop history databases 920 may be any database, non-limiting examples of which include one or more databases storing historical crop data (e.g., types of crops historically grown in a crop growing area associated with the region of interest during at least one previous crop cycle and a planting calendar for each of those crop types). The one or more crop history databases 920 may correspond to Figure 4 Crop history database 420 in.

[0197] The one or more geospatial databases 922 may be any database, non-limiting examples of which include one or more databases storing geospatial data (e.g., agricultural information such as elevation, soil moisture, soil type, and other geospatial data characterizing an area of ​​interest). The one or more geospatial databases 922 may correspond to Figure 4 Geospatial database 422 in.

[0198] The one or more weather databases 924 may be any database, non-limiting examples of which include one or more databases storing weather (e.g., one or more weather time series representing one or more weather conditions in a weather region associated with the region of interest). The one or more weather databases 924 may correspond to Figure 4 Weather database 424 in.

[0199] The one or more remote sensing databases 926 may be any database, non-limiting examples of which include one or more databases storing remote sensing data (e.g., satellite image data of an area of ​​interest). The one or more remote sensing databases 926 may correspond to Figure 4 Remote sensing database 426.

[0200] The one or more historical crop growth databases 928 may be any database, non-limiting examples of which include one or more databases storing one or more historical crop growth time series derived from remote sensing (e.g., historical crop growth time series of LAI for the current crop cycle or previous crop cycles). The one or more historical crop growth databases 928 may correspond to Figure 4 Historical crop growth database 406.

[0201] See now Fig.10 , depicts an exemplary client system 1000 for requesting an estimate of a crop type and / or planting date and displaying the results of the estimate according to one or more embodiments. The exemplary client system 1000 may correspond to Fig. 9 The client systems 902, 912 in. Fig.10 The exemplary client system 1000 shown in FIG. 1 includes a mobile phone 1002 having an integrated display / touch screen 1004. In other embodiments, the client system may be a tablet, a PDA, a laptop computer, or other client device, including a mobile phone having a different configuration. According to some embodiments, the server system (e.g., Fig. 9 The client system 1000 may have previously sent a request to the client system, which may have included GPS-derived geographic location data defining the area of ​​interest. For example, the mobile phone 1002 may include an integrated GPS ( Fig. 9 946 in the example), and the GPS-derived geo-location data of the phone may define an area of ​​interest (e.g., a crop type and planting date estimate request / display module ( Fig. 9 934) in which the area of ​​interest may be defined as the state, county, province, etc. where the mobile phone 1002 is located).

[0202] exist Fig.10 In the embodiment shown in , the results 1006 of the estimation of crop type and planting date are displayed using a graphical user interface (GUI) that includes one or more windows (e.g., one or more windows such as a land plot window 1008 and a button window 1010), icons and / or buttons that allow a user to interact with the displayed results. For example, the GUI can allow a user to interact with the displayed results to show the entire area of ​​interest or a portion of the area of ​​interest in the land plot window 1008 (e.g., using a zoom feature). Fig.10 In the illustrated embodiment, the land plot window 108 displays at least a portion of the area of ​​interest including a plurality of fields 1020, 1022, 1024, 1026, 1028, and 1030, each field having an estimated crop type (represented by the fill of the field) and a planting date (labeled using text within each field). Fig.10 In the embodiment shown in FIG. 1 , the key window 1010 displays a key with a field fill graphic. It should be understood that Fig.10 The GUI configuration and functions shown in are intended to be illustrative only, and embodiments of the present invention are not limited thereto. For example, the estimated results of crop type and sowing date can be displayed using a text-based user interface.

[0203] The present invention may be a system, method, and / or computer program product. The computer program product may include a computer-readable storage medium (or multiple media) having computer-readable program instructions thereon for causing a processor to perform various aspects of the present invention.

[0204] Computer readable storage medium can be a tangible device that can retain and store instructions used by an instruction execution device. Computer readable storage medium can be, for example but not limited to, electronic storage device, magnetic storage device, optical storage device, electromagnetic storage device, semiconductor storage device, or any suitable combination of the above. A non-exhaustive list of more specific examples of computer readable storage medium includes the following: portable computer disk, hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital versatile disk (DVD), memory stick, floppy disk, mechanical encoding device such as punch card or a protruding structure in a groove with instructions recorded thereon, and any suitable combination of the above. Computer readable storage medium as used herein should not be interpreted as a temporary signal itself, such as radio waves or other free propagating electromagnetic waves, electromagnetic waves propagated by waveguides or other transmission media (e.g., light pulses passing through fiber optic cables) or electrical signals emitted by wires.

[0205] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to a corresponding computing / processing device or to an external computer or external storage device via a network (e.g., the Internet, a local area network, a wide area network, and / or a wireless network). The network can include copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions to be stored in a computer-readable storage medium in the corresponding computing / processing device.

[0206] The computer-readable program instructions for performing operations can be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​(such as Smalltalk, C++, etc.) and conventional procedural programming languages ​​(such as "C" programming languages ​​or similar programming languages). Computer-readable program instructions can be executed completely on a user's computer, partially on a user's computer, executed as an independent software package, partially on a user's computer, partially on a remote computer, or completely on a remote computer or server. In the latter case, the remote computer can be connected to the user's computer through any type of network (including a local area network (LAN) or a wide area network (WAN)), or can be connected to an external computer (for example, using an Internet service provider through the Internet). In one or more embodiments, an electronic circuit including, for example, a programmable logic circuit, a field programmable gate array (FPGA) or a programmable logic array (PLA) can perform computer-readable program instructions by utilizing the state information of the computer-readable program instructions to personalize the electronic circuit so as to perform various aspects of the present invention.

[0207] This article describes multiple aspects with reference to the flowchart and / or block diagram of the method, device (system) and computer program product according to one or more embodiments. It should be understood that each box of the flowchart and / or block diagram and the combination of each box in the flowchart and / or block diagram can be implemented by computer-readable program instructions.

[0208] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device create a device for implementing the functions / actions specified in one or more boxes of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium, which instructions cause the computer, programmable data processing device, and / or other equipment to work in a specific manner, so that the computer-readable storage medium in which the instructions are stored includes a manufactured product containing instructions for implementing aspects of the functions / actions specified in one or more boxes in the flowchart and / or block diagram.

[0209] These computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device so as to cause a series of operating steps to be performed on the computer, other programmable apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable apparatus, or other device to implement the functions / actions specified in the flowchart and / or block diagram or multiple boxes.

[0210] The flow charts and block diagrams in the accompanying drawings show the architecture, functions and operations of the possible implementations of the systems, methods and computer program products according to different embodiments. To this end, each box in the flow chart or block diagram may represent a module, segment or part of an instruction, which includes one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the box may not occur in the order marked in the figure. For example, depending on the functions involved, the two blocks shown in succession can actually be performed substantially simultaneously, or these blocks can sometimes be performed in reverse order. It should also be noted that each box in the block diagram and / or flow chart, and the combination of the boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or action or performs a combination of dedicated hardware and computer instructions.

[0211] Those skilled in the art will recognize that many variations are possible within the scope of the present invention. For example, the specific hardware and software implementation details described herein are merely for illustrative purposes and are not meant to limit the scope of the described subject matter. Thus, although the present invention has been specifically shown and described with reference to its preferred embodiments, those skilled in the art will appreciate that changes in form and detail may be made therein without departing from the scope of the present invention.

Claims

1. A method for estimating crop type and / or sowing date, the method comprising: providing a historical crop growth time series for a region of interest based on remote sensing data, wherein the remote sensing data comprises a time series of image data for the region of interest, and wherein the historical crop growth time series comprises one or more elements, the elements comprising one or more crop specific parameters; determining, for each crop type / planting date combination within a set of one or more crop types and one or more planting dates, a simulated crop growth time series for the region of interest using a crop growth simulation model and based on historical crop data, geospatial data, and weather data, wherein the historical crop data includes crop types historically grown in a crop growing region associated with the region of interest during at least one previous crop cycle and a planting calendar for each of those crop types, wherein the geospatial data includes agricultural information characterizing the region of interest, wherein the weather data includes a weather time series representing one or more weather conditions in a weather region associated with the region of interest, wherein the simulated crop growth time series includes one or more elements, the one or more elements including the one or more crop-specific parameters, and wherein determining, for each crop type / planting date combination within a set of one or more crop types and one or more planting dates, the simulated crop growth time series includes: determining an initial simulated crop growth time series for each crop type / planting date combination within a set of the crop types historically grown in the crop growing region, and an initial planting date within the planting calendar for each of those crop types; The historical crop growth time series is matched to each instance of the simulated crop growth time series to determine an estimated crop type and / or planting date.

2. The method according to claim 1, wherein: Matching the historical crop growth time series with each instance of the simulated crop growth time series to determine an estimated crop type and / or planting date comprises: calculating, for each crop type / planting date combination within the set of crop types historically grown in the crop growing region and within the planting date calendar for each of the crop types, a difference between each of the one or more elements of the initial simulated crop growing time series and each corresponding element of the one or more elements of the historical crop growing time series; calculating, for each crop type / planting date combination within the set of crop types historically grown in the crop growing region and for an initial planting date within a planting date calendar for each of the crop types, a difference score by summing each difference calculated for that crop type / planting date combination; storing a difference score calculated for each crop type / planting date combination within the set of crop types historically grown in the crop growing region and for an initial planting date within a planting date calendar for each of the crop types; sorting the stored difference scores to identify a lowest difference score; The estimated crop type is determined based on the crop associated with the lowest difference score.

3. The method of claim 2, wherein for each crop type / sowing date combination within a set of one or more crop types and within one or more sowing dates, determining a simulated crop growth time series further comprises: A time-shifted simulated crop growth time series is determined for each crop type / sowing date combination within a set of the estimated crop types and for a plurality of sowing dates within the sowing calendar for the estimated crop types.

4. The method of claim 3, wherein matching the historical crop growth time series with each instance of the simulated crop growth time series to determine an estimated crop type and / or planting date further comprises: calculating, for each crop type / planting date combination of the plurality of planting dates within the set of the estimated crop types and for the estimated crop type within the planting calendar, a difference between each of the one or more elements of the time-shifted simulated crop growth time series and each corresponding element of the one or more elements of the historical crop growth time series; calculating, for each crop type / planting date combination within the set of said estimated crop types and for said estimated crop type within said planting calendar for said plurality of planting dates, a difference score by summing each difference calculated for said crop type / planting date combination; storing a difference score for each crop type / planting date combination within the set of said estimated crop types and for said estimated crop type for said plurality of planting dates within said planting calendar; sorting the stored difference scores to identify a lowest difference score; The estimated planting date is determined based on the planting date associated with the lowest difference score.

5. The method of claim 1, wherein the one or more crop-specific parameters are selected from the group consisting of Leaf Area Index (LAI) and Normalized Difference Vegetation Index (NDVI).

6. The method according to claim 1, wherein: The one or more crop specific parameters include a leaf area index (LAI).

7. The method according to claim 1, wherein: The agricultural information is selected from the group consisting of altitude, soil moisture, and soil type.

8. The method according to claim 1, wherein: The image data is captured by satellites, aerial drones and / or aircraft.

9. The method according to claim 1, wherein: The image data is captured by satellite.

10. A system for estimating crop type and / or sowing date, comprising: A server device, wherein the server device comprises one or more processors, one or more computer-readable storage devices, and program instructions stored on at least one of the one or more computer-readable storage devices for execution by at least one of the one or more processors, the program instructions being executable to: providing a historical crop growth time series for a region of interest based on remote sensing data, wherein the remote sensing data comprises a time series of image data for the region of interest, and wherein the historical crop growth time series comprises one or more elements, the elements comprising one or more crop specific parameters; determining, for each crop type / planting date combination within a set of one or more crop types and one or more planting dates, a simulated crop growth time series for the region of interest using a crop growth simulation model and based on historical crop data, geospatial data, and weather data, wherein the historical crop data includes crop types historically grown in a crop growing region associated with the region of interest during at least one prior crop cycle and a planting calendar for each of those crop types, wherein the geospatial data includes agricultural information characterizing the region of interest, wherein the weather data includes a weather time series representing one or more weather conditions in a weather region associated with the region of interest, wherein the simulated crop growth time series includes one or more elements, the one or more elements including the one or more crop-specific parameters, and wherein to determine the simulated crop growth time series for each crop type / planting date combination within a set of one or more crop types and one or more planting dates, the program instructions are further executable to: determine an initial simulated crop growth time series for each crop type / planting date combination within the set of the crop types historically grown in the crop growing region, and an initial planting date within the planting calendar for each of those crop types; The historical crop growth time series is matched to each instance of the simulated crop growth time series to determine an estimated crop type and / or planting date.

11. The system of claim 10, wherein in order to match the historical crop growth time series with each instance of the simulated crop growth time series to determine an estimated crop type and / or planting date, the program instructions are further executable to: calculating, for each crop type / planting date combination within the set of crop types historically grown in the crop growing region and within the planting date calendar for each of the crop types, a difference between each of the one or more elements of the initial simulated crop growing time series and each corresponding element of the one or more elements of the historical crop growing time series; calculating, for each crop type / planting date combination within the set of crop types historically grown in the crop growing region and for an initial planting date within a planting date calendar for each of the crop types, a difference score by summing each difference calculated for that crop type / planting date combination; storing a difference score calculated for each crop type / planting date combination within the set of crop types historically grown in the crop growing region and for an initial planting date within a planting date calendar for each of the crop types; sorting the stored difference scores to identify a lowest difference score; The estimated crop type is determined based on the crop associated with the lowest difference score.

12. The system of claim 11, wherein for determining a simulated crop growth time series for each crop type / planting date combination within a set of one or more crop types and one or more planting dates, the program instructions are further executable to: A time-shifted simulated crop growth time series is determined for each crop type / sowing date combination within a set of the estimated crop types and for a plurality of sowing dates within the sowing calendar for the estimated crop types.

13. The system of claim 12, wherein in order to match the historical crop growth time series with each instance of the simulated crop growth time series to determine an estimated crop type and / or planting date, the program instructions are further executable to: calculating, for each crop type / planting date combination of the plurality of planting dates within the set of the estimated crop types and for the estimated crop type within the planting calendar, a difference between each of the one or more elements of the time-shifted simulated crop growth time series and each corresponding element of the one or more elements of the historical crop growth time series; calculating, for each crop type / planting date combination within the set of said estimated crop types and for said estimated crop type within said planting calendar for said plurality of planting dates, a difference score by summing each difference calculated for said crop type / planting date combination; storing a difference score for each crop type / planting date combination within the set of said estimated crop types and for said estimated crop type for said plurality of planting dates within said planting calendar; sorting the stored difference scores to identify a lowest difference score; The estimated planting date is determined based on the planting date associated with the lowest difference score.

14. A computer program product for estimating crop type and / or sowing date, the computer program product comprising a computer readable storage medium containing program code, the program code being executable by one or more processors to perform a method comprising: providing a historical crop growth time series for a region of interest based on remote sensing data, wherein the remote sensing data comprises a time series of image data for the region of interest, and wherein the historical crop growth time series comprises one or more elements, the elements comprising one or more crop specific parameters; determining, for each crop type / planting date combination within a set of one or more crop types and one or more planting dates, a simulated crop growth time series for the region of interest using a crop growth simulation model and based on historical crop data, geospatial data, and weather data, wherein the historical crop data includes crop types historically grown in a crop growing region associated with the region of interest during at least one previous crop cycle and a planting calendar for each of those crop types, wherein the geospatial data includes agricultural information characterizing the region of interest, wherein the weather data includes a weather time series representing one or more weather conditions in a weather region associated with the region of interest, wherein the simulated crop growth time series includes one or more elements, the one or more elements including the one or more crop-specific parameters, and wherein determining, for each crop type / planting date combination within a set of one or more crop types and one or more planting dates, the simulated crop growth time series includes: determining an initial simulated crop growth time series for each crop type / planting date combination within a set of the crop types historically grown in the crop growing region, and an initial planting date within the planting calendar for each of those crop types; The historical crop growth time series is matched to each instance of the simulated crop growth time series to determine an estimated crop type and / or planting date.

15. The computer program product of claim 14, wherein matching the historical crop growth time series to each instance of the simulated crop growth time series to determine an estimated crop type and / or planting date comprises: calculating, for each crop type / planting date combination within the set of crop types historically grown in the crop growing region and within the planting date calendar for each of the crop types, a difference between each of the one or more elements of the initial simulated crop growing time series and each corresponding element of the one or more elements of the historical crop growing time series; calculating, for each crop type / planting date combination within the set of crop types historically grown in the crop growing region and for an initial planting date within a planting date calendar for each of the crop types, a difference score by summing each difference calculated for that crop type / planting date combination; storing a difference score calculated for each crop type / planting date combination within the set of crop types historically grown in the crop growing region and for an initial planting date within a planting date calendar for each of the crop types; sorting the stored difference scores to identify a lowest difference score; The estimated crop type is determined based on the crop associated with the lowest difference score.

16. The computer program product of claim 15, wherein for each crop type / planting date combination within a set of one or more crop types and one or more planting dates, determining a simulated crop growth time series further comprises: A time-shifted simulated crop growth time series is determined for each crop type / sowing date combination within a set of the estimated crop types and for a plurality of sowing dates within the sowing calendar for the estimated crop types.

17. The computer program product of claim 16, wherein matching the historical crop growth time series with each instance of the simulated crop growth time series to determine an estimated crop type and / or planting date further comprises: calculating, for each crop type / planting date combination of the plurality of planting dates within the set of the estimated crop types and for the estimated crop type within the planting calendar, a difference between each of the one or more elements of the time-shifted simulated crop growth time series and each corresponding element of the one or more elements of the historical crop growth time series; calculating, for each crop type / planting date combination within the set of said estimated crop types and for said estimated crop type within said planting calendar for said plurality of planting dates, a difference score by summing each difference calculated for said crop type / planting date combination; storing a difference score for each crop type / planting date combination within the set of said estimated crop types and for said estimated crop type for said plurality of planting dates within said planting calendar; sorting the stored difference scores to identify a lowest difference score; The estimated planting date is determined based on the planting date associated with the lowest difference score.

18. A method for estimating crop type and sowing date, the method comprising: receiving remote sensing data comprising a time series of image data of a region of interest captured during a current crop cycle; calculating a time series of one or more crop-specific parameters based on the time series of the image data; determining a historical crop growth time series for the region of interest during the current crop cycle using one or more elements including the one or more crop specific parameters; receiving historical crop data including a plurality of crop types grown in a crop growing area associated with the area of ​​interest during at least one previous crop cycle and a planting calendar for each of the plurality of crop types; receiving geospatial data including agricultural information characterizing the area of ​​interest; receiving weather data including a current crop cycle weather time series representing one or more weather conditions in a weather region associated with the region of interest during the current crop cycle; determining, for each crop type / planting date combination of a plurality of crop types and a plurality of planting dates within the planting calendar for those crop types, using a crop growth simulation model and based on the historical crop data, the geospatial data, and the weather data, a simulated crop growth time series for the region of interest during the current crop cycle, wherein the simulated crop growth time series includes one or more elements, the one or more elements including the one or more crop-specific parameters; calculating a difference score based on one or more differences for each of the crop type / planting date combinations within the set of the plurality of crop types and the plurality of planting dates within the planting calendar for those crop types, each difference being calculated as a distance between an element of the one or more elements of the simulated crop growth time series and a corresponding element of the one or more elements of the historical crop growth time series; An estimated crop type and planting date is determined based on the crop and planting date associated with the simulated crop growth time series that produces the lowest difference score.

19. A system for estimating crop type and planting date, comprising: A server device, wherein the server device comprises one or more processors, one or more computer-readable storage devices, and program instructions stored on at least one of the one or more computer-readable storage devices for execution by at least one of the one or more processors, the program instructions being executable to: receiving remote sensing data comprising a time series of image data of a region of interest captured during a current crop cycle; calculating a time series of one or more crop-specific parameters based on the time series of the image data; determining a historical crop growth time series for the region of interest during the current crop cycle using one or more elements including the one or more crop specific parameters; receiving historical crop data including a plurality of crop types grown in a crop growing area associated with the area of ​​interest during at least one previous crop cycle and a planting calendar for each of the plurality of crop types; receiving geospatial data including agricultural information characterizing the area of ​​interest; receiving weather data including a current crop cycle weather time series representing one or more weather conditions in a weather region associated with the region of interest during the current crop cycle; determining, for each crop type / planting date combination of a plurality of crop types and a plurality of planting dates within the planting calendar for those crop types, using a crop growth simulation model and based on the historical crop data, the geospatial data, and the weather data, a simulated crop growth time series for the region of interest during the current crop cycle, wherein the simulated crop growth time series includes one or more elements, the one or more elements including the one or more crop-specific parameters; calculating a difference score based on one or more differences for each of the crop type / planting date combinations within the set of the plurality of crop types and the plurality of planting dates within the planting calendar for those crop types, each difference being calculated as a distance between an element of the one or more elements of the simulated crop growth time series and a corresponding element of the one or more elements of the historical crop growth time series; An estimated crop type and planting date is determined based on the crop and planting date associated with the simulated crop growth time series that produces the lowest difference score.