Introduction
Farm maps in LiteFarm allow users to add three types categories of drawings locations to their farm maps: areas, lines, and structures.
Areas are drawn polygons that have area. In general, the utility of the polygon is tied to its size. Examples of areas include fields, natural areas, domicilesresidences, barns, greenhouses, etc.
Lines are drawn, multi-point segments that don’t form a closed polygon. In general, lines don’t have a meaningful area an area (such as with fences) or their area is relatively uniform and doesn’t impact their utilitybased on the direction of the line (such as with creeks or buffer areas). Examples of lines are: fences, creeks, roads, and footpaths
Structures Points on the other hand are points coordinates that are dropped on the map. For all intents and purposes, they don’t have an “area” per se, but rather provide a service based on their location. Examples of structures include pumps water valves and gates
For each of the location types, please refer to Display patterns to understand how they’ll be built, per the description in “Available Views” in the below tables.
Areas
For our Spring 2021 release, the following areas will be supported:
Area type | Attributes | Other notes | Available Views and actions |
---|---|---|---|
Farm site boundary |
| Hybrid:
** including edit, retire (only if no incomplete tasks or crops reference this field), reestablish | |
Field |
|
Total area and perimeter should be pre-populated by the maps API, but modifiable by the user. Organic status: {“Non-organic” (default), “Transitional”, “Organic”) Transition date only shown if transitional chosen. | Hybrid:
** including edit, retire (only if no incomplete tasks or crops reference this field), reestablish | |
Garden |
| Total area and perimeter should be pre-populated by the maps API, but modifiable by the user. Organic status: {“Non-organic” (default), “Transitional”, “Organic”) Transition date only shown if transitional |
chosen. | Hybrid:
** including edit, retire (only if no incomplete tasks or crops reference this field), reestablish | |
Barn |
| Total area should be pre-populated by the maps API, but modifiable by the user. |
Both enums have the following values: {““, “No”, “Yes”} | Hybrid:
* Not in current scope - just an FYI ** including edit, retire (only if no incomplete tasks reference this location), reestablish |
Greenhouse |
|
Perimeter: Decimal
| Total area |
should be pre-populated by the maps API, but modifiable by the user. Organic status: {“Non-organic” (default), “Transitional”, “Organic”) Transition date only shown if transitional or organic are chosen. | Hybrid:
** including edit, retire (only if no incomplete tasks or crops reference this location), reestablish | |
Natural area |
| Total area and perimeter should be pre-populated by the maps API, but modifiable by the user. |
Hybrid:
** including edit, retire (only if no incomplete tasks reference this location), reestablish | |
Surface water |
|
| Total area and perimeter should be pre-populated by the maps API, but modifiable by the user.
|
| Hybrid:
** including edit, retire (only if no incomplete tasks reference this location), reestablish | ||
Residence |
| Total area should be pre-populated by the maps API, but modifiable by the user. | Hybrid:
** including edit, retire (only if no incomplete tasks reference this location), reestablish |
Ceremonial area |
| Total area and perimeter should be pre-populated by the maps API, but modifiable by the user. |
Hybrid:
** including edit, retire (only if no incomplete tasks reference this location), reestablish |
Proposed Area Types
Area type | Attributes | Other notes | Available Views and actions |
---|---|---|---|
Custom |
If crop-enabled:
| Total area |
should be pre-populated by the maps API, but modifiable by the user. Organic status: {“Non-organic” (default), “Transitional”, “Organic”) Transition date only shown if transitional or organic are chosen. | If crop-enabled, Hybrid:
Otherwise, just Detail** ** including edit, retire |
Lines
For our Spring 2021 release, the following lines will be supported:
Line type | Attributes | Other notes | Available Views |
---|---|---|---|
Fence |
|
| Length should be pre-populated by the maps API, but modifiable by the user. Fences that are pressure treated need to be declared for organic certifications. Only shown for organic certification. Options: {““, “Yes”, “No”} |
Hybrid:
** including edit, retire (only if no incomplete tasks reference this location), reestablish | |
Watercourse |
|
| Length should be pre-populated by the maps API, but modifiable by the user. Used for irrigation: {““, “Yes”, “No”} |
Hybrid:
** including edit, retire (only if no incomplete tasks reference this location), reestablish | |
Buffer zone |
|
| Total area and perimeter should be pre-populated by the maps API, but modifiable by the user. Width is required. Standard is 8 meters for separation of organic and non-organic areas - though there are many reasons it can be less. Must be modifiable. | Hybrid:
** including edit, retire (only if no incomplete tasks or crops reference this location), reestablish |
|
|
| Length should be pre-populated by the maps API, but modifiable by the user. Type: {“Earthen” (default), “Gravel”, “Paved”} | Hybrid:
** including edit, retire (only if no incomplete tasks reference this location), reestablish |
|
|
| Length should be pre-populated by the maps API, but modifiable by the user. Type: {“Earthen” (default), “Gravel”, “Paved”} | Hybrid:
** including edit, retire (only if no incomplete tasks reference this location), reestablish |
Points
For our Spring 2021 release, the following structures points will be supported:
Point type | Attributes | Other notes | Available Views |
---|---|---|---|
Water valve |
|
|
|
Water source: { |
“Municipal water” (default), “Surface water”, “Groundwater”, |
“Rain water”} Flow rate unit is based on the users measurement preference. For metric: l/min |
, l/hour (default) For imperial: g/min (default), g/hour | Hybrid:
** including edit, retire (only if no incomplete tasks reference this location), reestablish | ||
Gate |
| Hybrid:
** including edit, retire (only if no incomplete tasks reference this location), reestablish | |
Sensor |
|
| See Sensors | Hybrid:
** including edit, retire (only if no incomplete tasks reference this location), reestablish |
Transitioning from legacy fields to areas, lines, and points
For Winter 2021 and all previous versions of LiteFarm, fields were an entity that lived just below a farm. Moving forward, we’ll have three categories of of geospatial entities that live below a farm:
Areas
Lines
Points
For this transition, fields will become an area of type Field. The endpoint that populated fields and displayed them on google maps will need to be augmented to display all categories of geospatial entities.
Handling overlaps between locations
In the general case, locations are assumed to be independent from each other. For example, if a user decided to draw a farm site boundary and then chose to draw a field outside this boundary, it is not the system’s responsibility to warn or prevent the user from doing this. Instead, the system assumes the user can make their own choices in this regard as long as the user is provided with the appropriate contextual information, specifically:
Users can view existing locations while adding new locations
Users can zoom in and out and change the viewed area while adding a new location
After placing a new location, users can modify it while viewing existing locations
One specific example of this general case is overlaps between areas. If a user decided to create a large field and then place a residence partially or entirely within the field, that is their prerogative. The areas of each will be calculated independently. A description of how the system will handle selection of these overlapping locations is described in Interacting with my farm map.
The reason we’re laissez faire about these interactions are two fold:
For certifications or research where areas are being compared someone will look at the visual map
Users can override areas and perimeters when they create a shape (such that if I knew my field was 10,000 sq ft and my house 2,000 sq ft in the above example, I could overwrite the field area to be 8,000 sq ft to compensate)