@jjlmoya/utils-nature 1.25.0 → 1.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/category/index.ts +2 -1
- package/src/entries.ts +2 -1
- package/src/index.ts +2 -0
- package/src/pages/[locale]/[slug].astro +5 -4
- package/src/tests/consumer_loader_contract.test.ts +24 -0
- package/src/tests/tool_validation.test.ts +2 -2
- package/src/tool/wildlifeCameraTrapEffortPlanner/bibliography.astro +9 -0
- package/src/tool/wildlifeCameraTrapEffortPlanner/bibliography.ts +16 -0
- package/src/tool/wildlifeCameraTrapEffortPlanner/component.astro +115 -0
- package/src/tool/wildlifeCameraTrapEffortPlanner/controller.ts +81 -0
- package/src/tool/wildlifeCameraTrapEffortPlanner/dom-views.ts +98 -0
- package/src/tool/wildlifeCameraTrapEffortPlanner/entry.ts +29 -0
- package/src/tool/wildlifeCameraTrapEffortPlanner/evaluator.test.ts +22 -0
- package/src/tool/wildlifeCameraTrapEffortPlanner/evaluator.ts +11 -0
- package/src/tool/wildlifeCameraTrapEffortPlanner/i18n/de.ts +49 -0
- package/src/tool/wildlifeCameraTrapEffortPlanner/i18n/en.ts +189 -0
- package/src/tool/wildlifeCameraTrapEffortPlanner/i18n/es.ts +46 -0
- package/src/tool/wildlifeCameraTrapEffortPlanner/i18n/fr.ts +44 -0
- package/src/tool/wildlifeCameraTrapEffortPlanner/i18n/id.ts +44 -0
- package/src/tool/wildlifeCameraTrapEffortPlanner/i18n/it.ts +43 -0
- package/src/tool/wildlifeCameraTrapEffortPlanner/i18n/ja.ts +43 -0
- package/src/tool/wildlifeCameraTrapEffortPlanner/i18n/ko.ts +43 -0
- package/src/tool/wildlifeCameraTrapEffortPlanner/i18n/nl.ts +43 -0
- package/src/tool/wildlifeCameraTrapEffortPlanner/i18n/pl.ts +43 -0
- package/src/tool/wildlifeCameraTrapEffortPlanner/i18n/pt.ts +43 -0
- package/src/tool/wildlifeCameraTrapEffortPlanner/i18n/ru.ts +43 -0
- package/src/tool/wildlifeCameraTrapEffortPlanner/i18n/sv.ts +43 -0
- package/src/tool/wildlifeCameraTrapEffortPlanner/i18n/tr.ts +43 -0
- package/src/tool/wildlifeCameraTrapEffortPlanner/i18n/zh.ts +43 -0
- package/src/tool/wildlifeCameraTrapEffortPlanner/index.ts +11 -0
- package/src/tool/wildlifeCameraTrapEffortPlanner/logic.test.ts +48 -0
- package/src/tool/wildlifeCameraTrapEffortPlanner/logic.ts +99 -0
- package/src/tool/wildlifeCameraTrapEffortPlanner/seo.astro +14 -0
- package/src/tool/wildlifeCameraTrapEffortPlanner/storage.ts +18 -0
- package/src/tool/wildlifeCameraTrapEffortPlanner/ui.ts +48 -0
- package/src/tool/wildlifeCameraTrapEffortPlanner/wildlife-camera-trap-effort-planner.css +442 -0
- package/src/tools.ts +3 -1
- package/src/types.ts +6 -5
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import type { FAQPage, HowTo, SoftwareApplication, WithContext } from 'schema-dts';
|
|
2
|
+
import { bibliography } from '../bibliography';
|
|
3
|
+
import type { WildlifeCameraTrapEffortPlannerLocaleContent } from '../entry';
|
|
4
|
+
|
|
5
|
+
const slug = 'wildlife-camera-trap-effort-planner';
|
|
6
|
+
const title = 'Wildlife Camera Trap Effort Planner';
|
|
7
|
+
const description = 'Plan camera trap effort, estimate camera days and review workload, and sketch a field deployment grid without making population claims.';
|
|
8
|
+
|
|
9
|
+
const faqData = [
|
|
10
|
+
{
|
|
11
|
+
question: 'What are camera days?',
|
|
12
|
+
answer: 'Camera days are the number of cameras multiplied by the number of days they are active. They describe sampling effort, not the number of animals in an area.',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
question: 'Does the planner calculate wildlife population size?',
|
|
16
|
+
answer: 'No. It estimates operational effort and a nominal planning footprint. Population size, abundance and occupancy require a validated study design and statistical model that accounts for imperfect detection.',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
question: 'What does the spacing input do?',
|
|
20
|
+
answer: 'The spacing input creates a nominal square planning cell for each camera and lets the planner compare that target with an even-grid spacing implied by the area and camera count. It is not a detection radius.',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
question: 'How should I use the review schedule?',
|
|
24
|
+
answer: 'Use the weekly checkpoints as a field planning rhythm. Compare the expected event load with your storage, battery and review capacity, then adjust the deployment plan and record every real visit.',
|
|
25
|
+
},
|
|
26
|
+
];
|
|
27
|
+
|
|
28
|
+
const howToData = [
|
|
29
|
+
{
|
|
30
|
+
name: 'Describe the survey area',
|
|
31
|
+
text: 'Enter the area that the camera deployment is intended to sample. Use the Metric or Imperial switch to keep the physical value consistent while you work.',
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
name: 'Place the effort on paper',
|
|
35
|
+
text: 'Enter the number of cameras, deployment duration and target spacing. The field sketch shows stations as a planning grid, not as coordinates or guaranteed detection zones.',
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: 'Estimate the image workload',
|
|
39
|
+
text: 'Enter the expected trigger rate per camera per day. The planner multiplies it by camera days and distributes the result over weekly review checkpoints.',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: 'Turn the plan into field records',
|
|
43
|
+
text: 'Before deployment, assign unique camera and session identifiers, record placement details, and log each retrieval or review even when no wildlife is detected.',
|
|
44
|
+
},
|
|
45
|
+
];
|
|
46
|
+
|
|
47
|
+
const faqSchema: WithContext<FAQPage> = {
|
|
48
|
+
'@context': 'https://schema.org',
|
|
49
|
+
'@type': 'FAQPage',
|
|
50
|
+
mainEntity: faqData.map((item) => ({
|
|
51
|
+
'@type': 'Question',
|
|
52
|
+
name: item.question,
|
|
53
|
+
acceptedAnswer: { '@type': 'Answer', text: item.answer },
|
|
54
|
+
})),
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
const howToSchema: WithContext<HowTo> = {
|
|
58
|
+
'@context': 'https://schema.org',
|
|
59
|
+
'@type': 'HowTo',
|
|
60
|
+
name: title,
|
|
61
|
+
description,
|
|
62
|
+
step: howToData.map((step, index) => ({
|
|
63
|
+
'@type': 'HowToStep',
|
|
64
|
+
position: index + 1,
|
|
65
|
+
name: step.name,
|
|
66
|
+
text: step.text,
|
|
67
|
+
})),
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
const appSchema: WithContext<SoftwareApplication> = {
|
|
71
|
+
'@context': 'https://schema.org',
|
|
72
|
+
'@type': 'SoftwareApplication',
|
|
73
|
+
name: title,
|
|
74
|
+
description,
|
|
75
|
+
applicationCategory: 'UtilityApplication',
|
|
76
|
+
operatingSystem: 'All',
|
|
77
|
+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
|
78
|
+
inLanguage: 'en',
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
export const content: WildlifeCameraTrapEffortPlannerLocaleContent = {
|
|
82
|
+
slug,
|
|
83
|
+
title,
|
|
84
|
+
description,
|
|
85
|
+
ui: {
|
|
86
|
+
labelSurveyArea: 'Survey area',
|
|
87
|
+
labelCameraCount: 'Camera stations',
|
|
88
|
+
labelDeploymentDays: 'Deployment days',
|
|
89
|
+
labelSpacing: 'Target station spacing',
|
|
90
|
+
labelTriggerRate: 'Expected triggers per camera per day',
|
|
91
|
+
areaPerCameraLabel: 'Area per camera',
|
|
92
|
+
unitHectares: 'ha',
|
|
93
|
+
unitAcres: 'ac',
|
|
94
|
+
unitMeters: 'm',
|
|
95
|
+
unitFeet: 'ft',
|
|
96
|
+
unitCameras: 'cameras',
|
|
97
|
+
unitDays: 'days',
|
|
98
|
+
unitEventsPerDay: 'events per day',
|
|
99
|
+
helpSurveyArea: 'The area the deployment is intended to sample.',
|
|
100
|
+
helpCameraCount: 'Active cameras in this campaign.',
|
|
101
|
+
helpDeploymentDays: 'Days from installation to retrieval.',
|
|
102
|
+
helpSpacing: 'A planning cell size, not a detection radius.',
|
|
103
|
+
helpTriggerRate: 'Use a cautious rate from a similar campaign or a test deployment.',
|
|
104
|
+
unitSystemLabel: 'Measurement system',
|
|
105
|
+
metricLabel: 'Metric',
|
|
106
|
+
imperialLabel: 'Imperial',
|
|
107
|
+
presetsTitle: 'Field starting points',
|
|
108
|
+
presetBackyard: 'Backyard edge',
|
|
109
|
+
presetWoodland: 'Mixed woodland',
|
|
110
|
+
presetReserve: 'Large reserve',
|
|
111
|
+
mapLabel: 'Relative field deployment sketch',
|
|
112
|
+
mapCaption: 'Numbered camera stations arranged on a relative planning grid. The cells are a spacing aid, not a habitat coverage map.',
|
|
113
|
+
stationLabel: 'station',
|
|
114
|
+
cameraDaysLabel: 'Camera days',
|
|
115
|
+
expectedEventsLabel: 'Expected events',
|
|
116
|
+
spacingLabel: 'Even grid spacing',
|
|
117
|
+
reviewLoadLabel: 'Events per review',
|
|
118
|
+
reviewScheduleTitle: 'Review rhythm',
|
|
119
|
+
reviewScheduleText: 'Weekly checkpoints make the image workload visible before the cameras go out. Replace them with the actual visits your field protocol requires.',
|
|
120
|
+
reviewDayLabel: 'Day',
|
|
121
|
+
reviewEventsLabel: 'events expected',
|
|
122
|
+
statusBalanced: 'Spacing reads as balanced',
|
|
123
|
+
statusSparse: 'Stations read as widely spaced',
|
|
124
|
+
statusDense: 'Stations read as closely spaced',
|
|
125
|
+
statusReviewHeavy: 'Review load needs attention',
|
|
126
|
+
statusNeedsInput: 'Add a complete deployment plan',
|
|
127
|
+
statusNote: 'This is an effort plan. It cannot tell you how many animals live in the survey area or guarantee that a species will be detected.',
|
|
128
|
+
assumptionTitle: 'What the model assumes',
|
|
129
|
+
assumptionText: 'The nominal footprint treats each station as a square cell based on your target spacing. Expected events assume the trigger rate stays constant across cameras and days.',
|
|
130
|
+
limitationTitle: 'Field limits',
|
|
131
|
+
limitationText: 'Choose locations for the species and question, not only for geometric regularity. Record camera IDs, dates, orientation, height, habitat and blank checks so later analysis can account for imperfect detection.',
|
|
132
|
+
},
|
|
133
|
+
seo: [
|
|
134
|
+
{
|
|
135
|
+
type: 'title',
|
|
136
|
+
text: 'Plan Camera Trap Sampling Effort',
|
|
137
|
+
level: 2,
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
type: 'paragraph',
|
|
141
|
+
html: 'A wildlife camera trap project has two planning problems before it has a species list. First, you need to know how much sampling effort the deployment represents. Second, you need to know whether the expected image stream can be checked, stored and documented by the people running the field work. This planner turns those questions into camera days, expected events, a relative station sketch and review checkpoints.',
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
type: 'title',
|
|
145
|
+
text: 'Use Camera Days to Describe Effort',
|
|
146
|
+
level: 3,
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
type: 'paragraph',
|
|
150
|
+
html: 'Camera days are calculated as <code>camera stations × deployment days</code>. Twelve cameras left active for 28 days create 336 camera days. That number is useful for comparing the planned effort of two campaigns, but it is not a population estimate and it does not correct for camera failure, habitat differences or animal behavior.',
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
type: 'list',
|
|
154
|
+
items: [
|
|
155
|
+
'<strong>Camera stations:</strong> count the devices that will be active in the campaign.',
|
|
156
|
+
'<strong>Deployment days:</strong> count the intended active days from installation to retrieval.',
|
|
157
|
+
'<strong>Trigger rate:</strong> use events per camera per day, not total images if one event creates a burst.',
|
|
158
|
+
'<strong>Review checkpoints:</strong> use the expected load to plan storage, batteries, visits and image review.',
|
|
159
|
+
],
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
type: 'title',
|
|
163
|
+
text: 'Treat the Field Sketch as a Planning Aid',
|
|
164
|
+
level: 3,
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
type: 'paragraph',
|
|
168
|
+
html: 'The station sketch uses your area, camera count and target spacing to show a relative arrangement. Its nominal footprint is the number of stations multiplied by the square of the target spacing. That is a transparent geometry aid for discussing spacing and overlap; it is not the area a sensor can detect. Terrain, vegetation, trail choice, camera height, orientation and species behavior change detection probability.',
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
type: 'title',
|
|
172
|
+
text: 'Prepare Better Records Before Deployment',
|
|
173
|
+
level: 3,
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
type: 'paragraph',
|
|
177
|
+
html: 'Before placing a camera, define the target species or group and the question that the survey should answer. Give each camera and deployment session a stable identifier. At installation and review, record dates, location, height, orientation, habitat, settings and whether the device was working. A blank review is still a real observation of the survey process and should not disappear from the record.',
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
type: 'tip',
|
|
181
|
+
title: 'Do not turn effort into abundance',
|
|
182
|
+
html: 'Camera traps are affected by imperfect detection. Use this planner to budget field effort and image handling, then use a validated ecological design and analysis when you need occupancy, abundance, density or population change.',
|
|
183
|
+
},
|
|
184
|
+
],
|
|
185
|
+
faq: faqData,
|
|
186
|
+
howTo: howToData,
|
|
187
|
+
bibliography,
|
|
188
|
+
schemas: [faqSchema, howToSchema, appSchema],
|
|
189
|
+
};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { FAQPage, HowTo, SoftwareApplication, WithContext } from 'schema-dts';
|
|
2
|
+
import { bibliography } from '../bibliography';
|
|
3
|
+
import type { WildlifeCameraTrapEffortPlannerLocaleContent } from '../entry';
|
|
4
|
+
|
|
5
|
+
const slug = 'planificador-esfuerzo-fototrampeo-fauna';
|
|
6
|
+
const title = 'Planificador de Esfuerzo con Cámaras Trampa';
|
|
7
|
+
const description = 'Planifica el esfuerzo de fototrampeo, estima días cámara y carga de revisión, y dibuja una red de campo sin afirmar tamaños de población.';
|
|
8
|
+
const faqData = [
|
|
9
|
+
{ question: '¿Qué son los días cámara?', answer: 'Los días cámara son el número de cámaras multiplicado por sus días activos. Describen el esfuerzo de muestreo, no el número de animales de una zona.' },
|
|
10
|
+
{ question: '¿Calcula el planificador el tamaño de una población?', answer: 'No. Estima esfuerzo operativo y una huella nominal de planificación. La abundancia, densidad y ocupación requieren un diseño validado y modelos que tengan en cuenta la detección imperfecta.' },
|
|
11
|
+
{ question: '¿Qué hace el campo de separación?', answer: 'Crea una celda cuadrada nominal para cada cámara y compara la separación objetivo con la separación de una cuadrícula uniforme. No es el radio de detección del sensor.' },
|
|
12
|
+
{ question: '¿Cómo uso el calendario de revisión?', answer: 'Usa los puntos semanales para planificar visitas y carga de imágenes. Compáralos con tu almacenamiento, baterías y capacidad de revisión, y registra cada visita real.' },
|
|
13
|
+
];
|
|
14
|
+
const howToData = [
|
|
15
|
+
{ name: 'Describe el área de estudio', text: 'Introduce el área que quieres muestrear. El conmutador Metric o Imperial conserva el valor físico al cambiar de unidades.' },
|
|
16
|
+
{ name: 'Dibuja el esfuerzo', text: 'Introduce cámaras, duración y separación objetivo. El dibujo muestra estaciones relativas, no coordenadas ni zonas de detección garantizadas.' },
|
|
17
|
+
{ name: 'Estima la carga de imágenes', text: 'Introduce las activaciones esperadas por cámara y día. El planificador las multiplica por los días cámara y las distribuye por revisiones semanales.' },
|
|
18
|
+
{ name: 'Prepara los registros de campo', text: 'Asigna identificadores únicos a cámaras y sesiones, anota la instalación y registra cada revisión, incluso cuando no haya detecciones.' },
|
|
19
|
+
];
|
|
20
|
+
const faqSchema: WithContext<FAQPage> = { '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faqData.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) };
|
|
21
|
+
const howToSchema: WithContext<HowTo> = { '@context': 'https://schema.org', '@type': 'HowTo', name: title, description, step: howToData.map((step, index) => ({ '@type': 'HowToStep', position: index + 1, name: step.name, text: step.text })) };
|
|
22
|
+
const appSchema: WithContext<SoftwareApplication> = { '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: title, description, applicationCategory: 'UtilityApplication', operatingSystem: 'All', offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' }, inLanguage: 'es' };
|
|
23
|
+
|
|
24
|
+
export const content: WildlifeCameraTrapEffortPlannerLocaleContent = {
|
|
25
|
+
slug, title, description,
|
|
26
|
+
ui: {
|
|
27
|
+
areaPerCameraLabel: 'Área por cámara',
|
|
28
|
+
labelSurveyArea: 'Área de estudio', labelCameraCount: 'Estaciones cámara', labelDeploymentDays: 'Días de despliegue', labelSpacing: 'Separación objetivo', labelTriggerRate: 'Activaciones esperadas por cámara y día', unitHectares: 'ha', unitAcres: 'ac', unitMeters: 'm', unitFeet: 'ft', unitCameras: 'cámaras', unitDays: 'días', unitEventsPerDay: 'eventos por día',
|
|
29
|
+
helpSurveyArea: 'El área que quieres muestrear.', helpCameraCount: 'Cámaras activas en esta campaña.', helpDeploymentDays: 'Días entre instalación y retirada.', helpSpacing: 'Ayuda de planificación, no radio de detección.', helpTriggerRate: 'Usa una tasa prudente de una campaña comparable o de una prueba.', unitSystemLabel: 'Sistema de medida', metricLabel: 'Métrico', imperialLabel: 'Imperial', presetsTitle: 'Puntos de partida de campo', presetBackyard: 'Borde del jardín', presetWoodland: 'Bosque mixto', presetReserve: 'Gran reserva',
|
|
30
|
+
mapLabel: 'Croquis relativo del despliegue', mapCaption: 'Estaciones numeradas en una cuadrícula relativa. Las celdas ayudan con la separación, pero no son un mapa de cobertura del hábitat.', stationLabel: 'estación', cameraDaysLabel: 'Días cámara', expectedEventsLabel: 'Eventos esperados', spacingLabel: 'Separación en cuadrícula', reviewLoadLabel: 'Eventos por revisión', reviewScheduleTitle: 'Ritmo de revisión', reviewScheduleText: 'Los puntos semanales hacen visible la carga de imágenes antes de salir al campo. Sustitúyelos por las visitas de tu protocolo.', reviewDayLabel: 'Día', reviewEventsLabel: 'eventos esperados',
|
|
31
|
+
statusBalanced: 'La separación parece equilibrada', statusSparse: 'Las estaciones parecen muy separadas', statusDense: 'Las estaciones parecen muy juntas', statusReviewHeavy: 'La carga de revisión requiere atención', statusNeedsInput: 'Completa el plan de despliegue', statusNote: 'Este es un plan de esfuerzo. No indica cuántos animales viven en el área ni garantiza detectar una especie.', assumptionTitle: 'Supuestos del modelo', assumptionText: 'La huella nominal trata cada estación como una celda cuadrada basada en la separación objetivo. Los eventos esperados suponen que la tasa se mantiene constante en cámaras y días.', limitationTitle: 'Límites de campo', limitationText: 'Elige ubicaciones según la especie y la pregunta, no solo según la geometría. Registra IDs, fechas, orientación, altura, hábitat y revisiones sin detecciones para tener en cuenta la detección imperfecta.',
|
|
32
|
+
},
|
|
33
|
+
seo: [
|
|
34
|
+
{ type: 'title', text: 'Planifica el esfuerzo de muestreo con cámaras trampa', level: 2 },
|
|
35
|
+
{ type: 'paragraph', html: 'Un proyecto de fototrampeo tiene dos problemas antes de obtener una lista de especies. Primero, necesitas saber cuánto esfuerzo representa el despliegue. Después, necesitas saber si el flujo de imágenes puede revisarse, almacenarse y documentarse. Este planificador convierte esas preguntas en días cámara, eventos esperados, un croquis de estaciones y revisiones.' },
|
|
36
|
+
{ type: 'title', text: 'Usa los días cámara para describir el esfuerzo', level: 3 },
|
|
37
|
+
{ type: 'paragraph', html: 'Los días cámara se calculan como <code>estaciones cámara × días de despliegue</code>. Doce cámaras activas durante 28 días producen 336 días cámara. Sirve para comparar campañas, pero no estima poblaciones ni corrige fallos, diferencias de hábitat o comportamiento.' },
|
|
38
|
+
{ type: 'list', items: ['<strong>Estaciones cámara:</strong> dispositivos activos en la campaña.', '<strong>Días de despliegue:</strong> días previstos entre instalación y retirada.', '<strong>Tasa de activación:</strong> eventos por cámara y día, no cada imagen de una ráfaga.', '<strong>Revisiones:</strong> usa la carga esperada para planificar almacenamiento, baterías y visitas.'] },
|
|
39
|
+
{ type: 'title', text: 'Interpreta el croquis como ayuda de campo', level: 3 },
|
|
40
|
+
{ type: 'paragraph', html: 'El croquis usa el área, el número de cámaras y la separación objetivo para mostrar una disposición relativa. La huella nominal es el número de estaciones por la separación al cuadrado. Es una ayuda geométrica transparente, no el área que detecta un sensor. El terreno, la vegetación, los caminos, la altura, la orientación y el comportamiento cambian la probabilidad de detección.' },
|
|
41
|
+
{ type: 'title', text: 'Prepara registros antes de instalar', level: 3 },
|
|
42
|
+
{ type: 'paragraph', html: 'Define las especies objetivo y la pregunta del muestreo antes de colocar las cámaras. Asigna un identificador estable a cada cámara y sesión. Registra fecha, ubicación, altura, orientación, hábitat, configuración y funcionamiento en la instalación y en cada revisión. Una revisión sin detecciones también debe conservarse.' },
|
|
43
|
+
{ type: 'tip', title: 'No conviertas esfuerzo en abundancia', html: 'Las cámaras trampa sufren detección imperfecta. Usa esta herramienta para presupuestar esfuerzo y revisión de imágenes, y un diseño ecológico validado cuando necesites ocupación, abundancia, densidad o cambios poblacionales.' },
|
|
44
|
+
],
|
|
45
|
+
faq: faqData, howTo: howToData, bibliography, schemas: [faqSchema, howToSchema, appSchema],
|
|
46
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { FAQPage, HowTo, SoftwareApplication, WithContext } from 'schema-dts';
|
|
2
|
+
import { bibliography } from '../bibliography';
|
|
3
|
+
import type { WildlifeCameraTrapEffortPlannerLocaleContent } from '../entry';
|
|
4
|
+
|
|
5
|
+
const slug = 'planificateur-effort-pieges-photographiques-faune';
|
|
6
|
+
const title = "Planificateur d'effort des pièges photographiques";
|
|
7
|
+
const description = "Planifiez l'effort des pièges photographiques, estimez les jours caméra et la charge de vérification, puis esquissez un réseau de terrain sans estimer une population.";
|
|
8
|
+
const faqData = [
|
|
9
|
+
{ question: 'Que sont les jours caméra ?', answer: "Les jours caméra correspondent au nombre de caméras multiplié par le nombre de jours actifs. Ils décrivent l'effort d'échantillonnage, pas le nombre d'animaux dans la zone." },
|
|
10
|
+
{ question: 'Le planificateur calcule-t-il la taille d une population ?', answer: 'Non. Il estime l effort operationnel et une empreinte nominale de planification. L abondance, la densite et l occupation demandent un protocole valide et un modele tenant compte de la detection imparfaite.' },
|
|
11
|
+
{ question: 'Que fait la distance entre stations ?', answer: 'Elle cree une cellule carree nominale pour chaque camera et compare la distance cible a celle d une grille reguliere. Ce n est pas un rayon de detection.' },
|
|
12
|
+
{ question: 'Comment utiliser le calendrier de verification ?', answer: 'Utilisez les points hebdomadaires pour planifier les visites et le volume d images. Comparez-les au stockage, aux batteries et a votre capacite de verification, puis notez chaque visite reelle.' },
|
|
13
|
+
];
|
|
14
|
+
const howToData = [
|
|
15
|
+
{ name: 'Decrire la zone d etude', text: 'Saisissez la surface que le dispositif doit echantillonner. Le bouton Metric ou Imperial conserve la valeur physique lors du changement d unite.' },
|
|
16
|
+
{ name: 'Placer l effort sur le terrain', text: 'Saisissez le nombre de cameras, la duree et la distance cible. Le schema montre des stations relatives, pas des coordonnees ni des zones garanties.' },
|
|
17
|
+
{ name: 'Estimer la charge d images', text: 'Saisissez le nombre attendu de declenchements par camera et par jour. Le planificateur le multiplie par les jours camera et le repartit sur les verifications hebdomadaires.' },
|
|
18
|
+
{ name: 'Preparer les fiches de terrain', text: 'Attribuez des identifiants uniques aux cameras et aux sessions, notez la pose et consignez chaque verification, meme sans detection.' },
|
|
19
|
+
];
|
|
20
|
+
const faqSchema: WithContext<FAQPage> = { '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faqData.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) };
|
|
21
|
+
const howToSchema: WithContext<HowTo> = { '@context': 'https://schema.org', '@type': 'HowTo', name: title, description, step: howToData.map((step, index) => ({ '@type': 'HowToStep', position: index + 1, name: step.name, text: step.text })) };
|
|
22
|
+
const appSchema: WithContext<SoftwareApplication> = { '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: title, description, applicationCategory: 'UtilityApplication', operatingSystem: 'All', offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' }, inLanguage: 'fr' };
|
|
23
|
+
|
|
24
|
+
export const content: WildlifeCameraTrapEffortPlannerLocaleContent = {
|
|
25
|
+
slug, title, description,
|
|
26
|
+
ui: {
|
|
27
|
+
areaPerCameraLabel: 'Surface par caméra',
|
|
28
|
+
labelSurveyArea: 'Zone d etude', labelCameraCount: 'Stations camera', labelDeploymentDays: 'Jours de pose', labelSpacing: 'Distance cible entre stations', labelTriggerRate: 'Declenchements attendus par camera et par jour', unitHectares: 'ha', unitAcres: 'ac', unitMeters: 'm', unitFeet: 'ft', unitCameras: 'cameras', unitDays: 'jours', unitEventsPerDay: 'evenements par jour', helpSurveyArea: 'La surface a echantillonner.', helpCameraCount: 'Cameras actives dans cette campagne.', helpDeploymentDays: 'Jours entre la pose et le retrait.', helpSpacing: 'Une aide de planification, pas un rayon de detection.', helpTriggerRate: 'Utilisez un taux prudent issu d une campagne comparable ou d un test.', unitSystemLabel: 'Systeme de mesure', metricLabel: 'Metrique', imperialLabel: 'Imperial', presetsTitle: 'Points de depart terrain', presetBackyard: 'Lisiere proche', presetWoodland: 'Foret mixte', presetReserve: 'Grande reserve',
|
|
29
|
+
mapLabel: 'Schema relatif du dispositif', mapCaption: 'Stations numerotees sur une grille relative. Les cellules aident a discuter des distances, mais ne sont pas une carte de couverture de l habitat.', stationLabel: 'station', cameraDaysLabel: 'Jours camera', expectedEventsLabel: 'Evenements attendus', spacingLabel: 'Distance de grille reguliere', reviewLoadLabel: 'Evenements par verification', reviewScheduleTitle: 'Rythme de verification', reviewScheduleText: 'Les points hebdomadaires rendent la charge d images visible avant la pose. Remplacez-les par les visites de votre protocole.', reviewDayLabel: 'Jour', reviewEventsLabel: 'evenements attendus', statusBalanced: 'Distance apparemment equilibree', statusSparse: 'Stations apparemment eloignees', statusDense: 'Stations apparemment rapprochees', statusReviewHeavy: 'Charge de verification a surveiller', statusNeedsInput: 'Completez le plan de pose', statusNote: 'C est un plan d effort. Il ne dit pas combien d animaux vivent dans la zone et ne garantit pas la detection d une espece.', assumptionTitle: 'Hypotheses du modele', assumptionText: 'L empreinte nominale traite chaque station comme une cellule carree fondee sur la distance cible. Les evenements attendus supposent un taux constant entre cameras et jours.', limitationTitle: 'Limites terrain', limitationText: 'Choisissez les emplacements selon l espece et la question, pas seulement selon la geometrie. Notez les identifiants, dates, orientation, hauteur, habitat et controles sans detection pour tenir compte de la detection imparfaite.',
|
|
30
|
+
},
|
|
31
|
+
seo: [
|
|
32
|
+
{ type: 'title', text: 'Planifier l effort d echantillonnage par pieges photographiques', level: 2 },
|
|
33
|
+
{ type: 'paragraph', html: 'Un projet de piegeage photographique doit resoudre deux questions avant d obtenir une liste d especes. Quel effort represente le dispositif ? Le flux d images peut-il etre verifie, stocke et documente ? Ce planificateur transforme ces questions en jours camera, evenements attendus, schema relatif et points de verification.' },
|
|
34
|
+
{ type: 'title', text: 'Decrire l effort avec les jours camera', level: 3 },
|
|
35
|
+
{ type: 'paragraph', html: "Les jours caméra se calculent ainsi: <code>stations caméra × jours de pose</code>. Douze caméras actives pendant 28 jours produisent 336 jours caméra. Ce nombre compare des campagnes, mais n'estime pas une population et ne corrige ni les pannes ni les différences d'habitat ou de comportement." },
|
|
36
|
+
{ type: 'list', items: ['<strong>Stations camera :</strong> appareils actifs durant la campagne.', '<strong>Jours de pose :</strong> jours prevus entre installation et retrait.', '<strong>Taux de declenchement :</strong> evenements par camera et par jour, pas chaque photo d une rafale.', '<strong>Verifications :</strong> utilisez la charge attendue pour planifier stockage, batteries et visites.'] },
|
|
37
|
+
{ type: 'title', text: 'Lire le schema comme une aide de terrain', level: 3 },
|
|
38
|
+
{ type: 'paragraph', html: 'Le schema utilise la surface, le nombre de cameras et la distance cible pour montrer une disposition relative. L empreinte nominale est le nombre de stations multiplie par la distance au carre. C est une aide geometrique transparente, pas la surface detectee par un capteur. Relief, vegetation, chemins, hauteur, orientation et comportement modifient la probabilite de detection.' },
|
|
39
|
+
{ type: 'title', text: 'Preparer les releves avant la pose', level: 3 },
|
|
40
|
+
{ type: 'paragraph', html: 'Definissez les especes cibles et la question avant de poser les appareils. Attribuez un identifiant stable a chaque camera et session. Notez date, emplacement, hauteur, orientation, habitat, reglages et fonctionnement a la pose et a chaque verification. Une verification sans detection reste une observation.' },
|
|
41
|
+
{ type: 'tip', title: 'Ne pas transformer l effort en abondance', html: 'Les pieges photographiques ont une detection imparfaite. Utilisez cet outil pour budgeter le terrain et le tri des images, puis un protocole ecologique valide pour occupation, abondance, densite ou evolution de population.' },
|
|
42
|
+
],
|
|
43
|
+
faq: faqData, howTo: howToData, bibliography, schemas: [faqSchema, howToSchema, appSchema],
|
|
44
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { FAQPage, HowTo, SoftwareApplication, WithContext } from 'schema-dts';
|
|
2
|
+
import { bibliography } from '../bibliography';
|
|
3
|
+
import type { WildlifeCameraTrapEffortPlannerLocaleContent } from '../entry';
|
|
4
|
+
|
|
5
|
+
const slug = 'perencana-upaya-kamera-jebak-satwa';
|
|
6
|
+
const title = 'Perencana Upaya Kamera Jebak Satwa';
|
|
7
|
+
const description = 'Rencanakan upaya kamera jebak, perkirakan hari kamera dan beban pemeriksaan, lalu buat sketsa stasiun lapangan tanpa mengklaim ukuran populasi.';
|
|
8
|
+
const faqData = [
|
|
9
|
+
{ question: 'Apa itu hari kamera?', answer: 'Hari kamera adalah jumlah kamera dikalikan jumlah hari aktifnya. Nilai ini menggambarkan upaya sampling, bukan jumlah satwa di suatu area.' },
|
|
10
|
+
{ question: 'Apakah perencana menghitung ukuran populasi satwa?', answer: 'Tidak. Perencana memperkirakan upaya operasional dan jejak nominal untuk perencanaan. Kelimpahan, kepadatan, dan okupansi memerlukan rancangan studi tervalidasi yang memperhitungkan deteksi tidak sempurna.' },
|
|
11
|
+
{ question: 'Apa fungsi jarak antarstasiun?', answer: 'Jarak membuat sel persegi nominal untuk setiap kamera dan membandingkan jarak target dengan jarak kisi merata. Jarak ini bukan radius deteksi sensor.' },
|
|
12
|
+
{ question: 'Bagaimana jadwal pemeriksaan digunakan?', answer: 'Gunakan titik mingguan untuk merencanakan kunjungan dan beban gambar. Bandingkan dengan penyimpanan, baterai, dan kapasitas pemeriksaan, lalu catat setiap kunjungan nyata.' },
|
|
13
|
+
];
|
|
14
|
+
const howToData = [
|
|
15
|
+
{ name: 'Gambarkan area survei', text: 'Masukkan area yang akan disampling. Tombol Metric atau Imperial menjaga nilai fisik saat satuan diganti.' },
|
|
16
|
+
{ name: 'Rencanakan kisi lapangan', text: 'Masukkan jumlah kamera, durasi pemasangan, dan jarak target. Sketsa menunjukkan stasiun relatif, bukan koordinat atau zona deteksi yang dijamin.' },
|
|
17
|
+
{ name: 'Perkirakan beban gambar', text: 'Masukkan pemicu yang diharapkan per kamera per hari. Perencana mengalikannya dengan hari kamera dan membaginya ke titik pemeriksaan mingguan.' },
|
|
18
|
+
{ name: 'Siapkan catatan lapangan', text: 'Beri ID unik untuk kamera dan sesi, catat pemasangan, dan dokumentasikan setiap pemeriksaan termasuk saat tidak ada deteksi.' },
|
|
19
|
+
];
|
|
20
|
+
const faqSchema: WithContext<FAQPage> = { '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faqData.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) };
|
|
21
|
+
const howToSchema: WithContext<HowTo> = { '@context': 'https://schema.org', '@type': 'HowTo', name: title, description, step: howToData.map((step, index) => ({ '@type': 'HowToStep', position: index + 1, name: step.name, text: step.text })) };
|
|
22
|
+
const appSchema: WithContext<SoftwareApplication> = { '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: title, description, applicationCategory: 'UtilityApplication', operatingSystem: 'All', offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' }, inLanguage: 'id' };
|
|
23
|
+
|
|
24
|
+
export const content: WildlifeCameraTrapEffortPlannerLocaleContent = {
|
|
25
|
+
slug, title, description,
|
|
26
|
+
ui: {
|
|
27
|
+
areaPerCameraLabel: 'Luas per kamera',
|
|
28
|
+
labelSurveyArea: 'Area survei', labelCameraCount: 'Stasiun kamera', labelDeploymentDays: 'Hari pemasangan', labelSpacing: 'Jarak target antarstasiun', labelTriggerRate: 'Pemicu yang diharapkan per kamera per hari', unitHectares: 'ha', unitAcres: 'ac', unitMeters: 'm', unitFeet: 'ft', unitCameras: 'kamera', unitDays: 'hari', unitEventsPerDay: 'peristiwa per hari', helpSurveyArea: 'Area yang akan disampling.', helpCameraCount: 'Kamera aktif dalam kampanye ini.', helpDeploymentDays: 'Hari dari pemasangan sampai pengambilan.', helpSpacing: 'Bantuan perencanaan, bukan radius deteksi.', helpTriggerRate: 'Gunakan angka hati-hati dari kampanye sejenis atau uji coba.', unitSystemLabel: 'Sistem pengukuran', metricLabel: 'Metrik', imperialLabel: 'Imperial', presetsTitle: 'Titik awal lapangan', presetBackyard: 'Tepi kebun', presetWoodland: 'Hutan campuran', presetReserve: 'Cagar luas',
|
|
29
|
+
mapLabel: 'Sketsa relatif penempatan lapangan', mapCaption: 'Stasiun kamera bernomor pada kisi perencanaan relatif. Sel membantu jarak, bukan peta cakupan habitat.', stationLabel: 'stasiun', cameraDaysLabel: 'Hari kamera', expectedEventsLabel: 'Peristiwa yang diharapkan', spacingLabel: 'Jarak kisi merata', reviewLoadLabel: 'Peristiwa tiap pemeriksaan', reviewScheduleTitle: 'Ritme pemeriksaan', reviewScheduleText: 'Titik mingguan membuat beban gambar terlihat sebelum kamera dipasang. Ganti dengan kunjungan sesuai protokol lapangan.', reviewDayLabel: 'Hari', reviewEventsLabel: 'peristiwa diperkirakan', statusBalanced: 'Jarak terlihat seimbang', statusSparse: 'Stasiun terlihat berjauhan', statusDense: 'Stasiun terlihat berdekatan', statusReviewHeavy: 'Beban pemeriksaan perlu perhatian', statusNeedsInput: 'Lengkapi rencana pemasangan', statusNote: 'Ini adalah rencana upaya. Hasil ini tidak memberi tahu jumlah satwa di area dan tidak menjamin deteksi spesies.', assumptionTitle: 'Asumsi model', assumptionText: 'Jejak nominal memperlakukan setiap stasiun sebagai sel persegi berdasarkan jarak target. Peristiwa yang diharapkan menganggap laju pemicu tetap pada semua kamera dan hari.', limitationTitle: 'Batasan lapangan', limitationText: 'Pilih lokasi berdasarkan spesies dan pertanyaan, bukan hanya geometri. Catat ID, tanggal, arah, tinggi, habitat, dan pemeriksaan kosong agar deteksi tidak sempurna dapat diperhitungkan.',
|
|
30
|
+
},
|
|
31
|
+
seo: [
|
|
32
|
+
{ type: 'title', text: 'Rencanakan upaya sampling kamera jebak', level: 2 },
|
|
33
|
+
{ type: 'paragraph', html: 'Proyek kamera jebak memiliki dua masalah perencanaan sebelum daftar spesies tersedia. Berapa besar upaya sampling yang diwakili penempatan? Apakah aliran gambar dapat diperiksa, disimpan, dan didokumentasikan? Perencana ini mengubah pertanyaan tersebut menjadi hari kamera, peristiwa, sketsa stasiun, dan titik pemeriksaan.' },
|
|
34
|
+
{ type: 'title', text: 'Gunakan hari kamera untuk menjelaskan upaya', level: 3 },
|
|
35
|
+
{ type: 'paragraph', html: 'Hari kamera dihitung sebagai <code>stasiun kamera × hari pemasangan</code>. Dua belas kamera aktif selama 28 hari menghasilkan 336 hari kamera. Nilai ini berguna untuk membandingkan kampanye, tetapi bukan perkiraan populasi dan tidak memperbaiki kegagalan kamera, perbedaan habitat, atau perilaku satwa.' },
|
|
36
|
+
{ type: 'list', items: ['<strong>Stasiun kamera:</strong> perangkat aktif dalam kampanye.', '<strong>Hari pemasangan:</strong> hari yang direncanakan antara pemasangan dan pengambilan.', '<strong>Laju pemicu:</strong> peristiwa per kamera per hari, bukan setiap foto dalam satu rangkaian.', '<strong>Titik pemeriksaan:</strong> gunakan beban yang diharapkan untuk merencanakan penyimpanan, baterai, kunjungan, dan pemeriksaan gambar.'] },
|
|
37
|
+
{ type: 'title', text: 'Baca sketsa lapangan sebagai bantuan perencanaan', level: 3 },
|
|
38
|
+
{ type: 'paragraph', html: 'Sketsa menggunakan area, jumlah kamera, dan jarak target untuk menampilkan susunan relatif. Jejak nominal adalah jumlah stasiun dikalikan kuadrat jarak target. Ini adalah bantuan geometri yang transparan, bukan area yang dapat dideteksi sensor. Medan, vegetasi, jalur, tinggi, arah, dan perilaku satwa mengubah peluang deteksi.' },
|
|
39
|
+
{ type: 'title', text: 'Siapkan catatan yang baik sebelum pemasangan', level: 3 },
|
|
40
|
+
{ type: 'paragraph', html: 'Tentukan spesies sasaran dan pertanyaan survei sebelum memasang kamera. Beri pengenal tetap untuk kamera dan sesi. Catat tanggal, lokasi, tinggi, arah, habitat, pengaturan, dan apakah perangkat bekerja saat pemasangan dan pemeriksaan. Pemeriksaan tanpa deteksi tetap merupakan catatan penting.' },
|
|
41
|
+
{ type: 'tip', title: 'Jangan mengubah upaya menjadi kelimpahan', html: 'Kamera jebak dipengaruhi deteksi yang tidak sempurna. Gunakan alat ini untuk menganggarkan kerja lapangan dan penanganan gambar, lalu gunakan rancangan ekologi tervalidasi untuk okupansi, kelimpahan, kepadatan, atau perubahan populasi.' },
|
|
42
|
+
],
|
|
43
|
+
faq: faqData, howTo: howToData, bibliography, schemas: [faqSchema, howToSchema, appSchema],
|
|
44
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { FAQPage, HowTo, SoftwareApplication, WithContext } from 'schema-dts';
|
|
2
|
+
import { bibliography } from '../bibliography';
|
|
3
|
+
import type { WildlifeCameraTrapEffortPlannerLocaleContent } from '../entry';
|
|
4
|
+
|
|
5
|
+
const slug = 'pianificatore-sforzo-fototrappole-fauna';
|
|
6
|
+
const title = 'Pianificatore dello sforzo con fototrappole';
|
|
7
|
+
const description = 'Pianifica lo sforzo delle fototrappole, stima i giorni fotocamera e organizza i controlli senza trasformare l impegno in una stima della popolazione.';
|
|
8
|
+
const faqData = [
|
|
9
|
+
{ question: 'Che cosa sono i giorni fotocamera?', answer: 'Sono il numero di fotocamere moltiplicato per i giorni di attività. Descrivono lo sforzo di campionamento, non il numero di animali presenti.' },
|
|
10
|
+
{ question: 'Il pianificatore calcola la dimensione della popolazione?', answer: 'No. Stima lo sforzo operativo e un impronta nominale. Abbondanza, densità e occupazione richiedono un protocollo valido e un modello per la rilevazione imperfetta.' },
|
|
11
|
+
{ question: 'Che cosa indica la distanza tra le stazioni?', answer: 'Crea una cella quadrata nominale per fotocamera e confronta la distanza obiettivo con quella di una griglia uniforme. Non è un raggio di rilevamento.' },
|
|
12
|
+
{ question: 'Come si usa il calendario dei controlli?', answer: 'Usa i punti settimanali per pianificare visite, batterie, memoria e revisione. Sostituiscili con le visite reali previste dal protocollo di campo.' },
|
|
13
|
+
];
|
|
14
|
+
const howToData = [
|
|
15
|
+
{ name: 'Descrivi l area di studio', text: 'Inserisci l area che il campionamento dovrebbe coprire. Il selettore metrico o imperiale mantiene coerente il valore fisico.' },
|
|
16
|
+
{ name: 'Disegna lo sforzo', text: 'Inserisci fotocamere, durata e distanza obiettivo. Lo schema mostra una griglia relativa, non coordinate o zone di rilevamento garantite.' },
|
|
17
|
+
{ name: 'Stima il carico di immagini', text: 'Inserisci gli eventi attesi per fotocamera al giorno. Il pianificatore li moltiplica per i giorni fotocamera e li distribuisce sui controlli.' },
|
|
18
|
+
{ name: 'Prepara i registri di campo', text: 'Assegna identificativi univoci, registra posa e impostazioni e annota ogni controllo, anche quando non viene rilevato alcun animale.' },
|
|
19
|
+
];
|
|
20
|
+
const faqSchema: WithContext<FAQPage> = { '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faqData.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) };
|
|
21
|
+
const howToSchema: WithContext<HowTo> = { '@context': 'https://schema.org', '@type': 'HowTo', name: title, description, step: howToData.map((step, index) => ({ '@type': 'HowToStep', position: index + 1, name: step.name, text: step.text })) };
|
|
22
|
+
const appSchema: WithContext<SoftwareApplication> = { '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: title, description, applicationCategory: 'UtilityApplication', operatingSystem: 'All', offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' }, inLanguage: 'it' };
|
|
23
|
+
|
|
24
|
+
export const content: WildlifeCameraTrapEffortPlannerLocaleContent = {
|
|
25
|
+
slug, title, description,
|
|
26
|
+
ui: {
|
|
27
|
+
areaPerCameraLabel: 'Area per fotocamera',
|
|
28
|
+
labelSurveyArea: 'Area di studio', labelCameraCount: 'Stazioni fotocamera', labelDeploymentDays: 'Giorni di posa', labelSpacing: 'Distanza obiettivo', labelTriggerRate: 'Eventi attesi per fotocamera al giorno', unitHectares: 'ha', unitAcres: 'ac', unitMeters: 'm', unitFeet: 'ft', unitCameras: 'fotocamere', unitDays: 'giorni', unitEventsPerDay: 'eventi al giorno', helpSurveyArea: 'Area che il campionamento dovrebbe coprire.', helpCameraCount: 'Fotocamere attive nella campagna.', helpDeploymentDays: 'Giorni tra installazione e ritiro.', helpSpacing: 'Aiuto per la pianificazione, non raggio di rilevamento.', helpTriggerRate: 'Usa un valore prudente da una campagna simile o da un test.', unitSystemLabel: 'Sistema di misura', metricLabel: 'Metrico', imperialLabel: 'Imperiale', presetsTitle: 'Punti di partenza sul campo', presetBackyard: 'Margine del giardino', presetWoodland: 'Bosco misto', presetReserve: 'Grande riserva', mapLabel: 'Schema relativo della posa', mapCaption: 'Stazioni numerate su una griglia relativa. Le celle aiutano con le distanze, ma non sono una mappa dell habitat.', stationLabel: 'stazione', cameraDaysLabel: 'Giorni fotocamera', expectedEventsLabel: 'Eventi attesi', spacingLabel: 'Distanza della griglia uniforme', reviewLoadLabel: 'Eventi per controllo', reviewScheduleTitle: 'Ritmo dei controlli', reviewScheduleText: 'I punti settimanali rendono visibile il carico prima della posa. Sostituiscili con le visite del tuo protocollo.', reviewDayLabel: 'Giorno', reviewEventsLabel: 'eventi attesi', statusBalanced: 'Distanza apparentemente equilibrata', statusSparse: 'Stazioni apparentemente lontane', statusDense: 'Stazioni apparentemente vicine', statusReviewHeavy: 'Il carico di revisione richiede attenzione', statusNeedsInput: 'Completa il piano di posa', statusNote: 'È un piano di sforzo. Non indica quanti animali vivono nell area e non garantisce il rilevamento di una specie.', assumptionTitle: 'Ipotesi del modello', assumptionText: 'L impronta nominale tratta ogni stazione come una cella quadrata basata sulla distanza obiettivo. Gli eventi attesi suppongono un tasso costante tra fotocamere e giorni.', limitationTitle: 'Limiti sul campo', limitationText: 'Scegli i punti in base alla specie e alla domanda, non solo alla geometria. Registra identificativi, date, orientamento, altezza, habitat e controlli senza rilevamenti.',
|
|
29
|
+
},
|
|
30
|
+
seo: [
|
|
31
|
+
{ type: 'title', text: 'Pianificare lo sforzo delle fototrappole', level: 2 },
|
|
32
|
+
{ type: 'paragraph', html: 'Un progetto con fototrappole deve risolvere due problemi prima della posa. Quanto sforzo rappresenta la campagna? Il flusso previsto di immagini può essere controllato, archiviato e documentato? Questo strumento converte le risposte in giorni fotocamera, eventi, schema delle stazioni e controlli.' },
|
|
33
|
+
{ type: 'title', text: 'Usare i giorni fotocamera per descrivere lo sforzo', level: 3 },
|
|
34
|
+
{ type: 'paragraph', html: 'I giorni fotocamera sono <code>stazioni fotocamera × giorni di posa</code>. Dodici fotocamere attive per 28 giorni producono 336 giorni fotocamera. Il numero confronta campagne, ma non stima popolazioni e non corregge guasti, habitat o comportamento.' },
|
|
35
|
+
{ type: 'list', items: ['<strong>Stazioni:</strong> dispositivi attivi nella campagna.', '<strong>Giorni:</strong> periodo previsto tra installazione e ritiro.', '<strong>Tasso di eventi:</strong> eventi per fotocamera e giorno, non ogni immagine di una raffica.', '<strong>Controlli:</strong> pianifica memoria, batterie, visite e revisione.'] },
|
|
36
|
+
{ type: 'title', text: 'Leggere lo schema come aiuto di campo', level: 3 },
|
|
37
|
+
{ type: 'paragraph', html: 'Lo schema usa area, numero di fotocamere e distanza obiettivo per mostrare una disposizione relativa. L impronta nominale è il numero di stazioni moltiplicato per la distanza al quadrato. Non rappresenta la superficie rilevata dal sensore: terreno, vegetazione, altezza, orientamento e comportamento cambiano la probabilità di rilevamento.' },
|
|
38
|
+
{ type: 'title', text: 'Preparare registri migliori prima della posa', level: 3 },
|
|
39
|
+
{ type: 'paragraph', html: 'Definisci specie obiettivo e domanda di ricerca. Assegna un codice stabile a ogni fotocamera e sessione. Registra data, posizione, altezza, orientamento, habitat, impostazioni e funzionamento. Anche un controllo senza rilevamenti è un osservazione del protocollo.' },
|
|
40
|
+
{ type: 'tip', title: 'Non trasformare lo sforzo in abbondanza', html: 'Le fototrappole hanno rilevazione imperfetta. Usa il pianificatore per il budget operativo e un disegno ecologico validato per occupazione, abbondanza, densità o cambiamento della popolazione.' },
|
|
41
|
+
],
|
|
42
|
+
faq: faqData, howTo: howToData, bibliography, schemas: [faqSchema, howToSchema, appSchema],
|
|
43
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { FAQPage, HowTo, SoftwareApplication, WithContext } from 'schema-dts';
|
|
2
|
+
import { bibliography } from '../bibliography';
|
|
3
|
+
import type { WildlifeCameraTrapEffortPlannerLocaleContent } from '../entry';
|
|
4
|
+
|
|
5
|
+
const slug = 'wildlife-camera-trap-effort-planner';
|
|
6
|
+
const title = '野生動物カメラトラップ調査計画';
|
|
7
|
+
const description = 'カメラトラップの調査 effort、稼働日数、画像確認の負荷を計画し、個体数を推定せずに設置配置を検討します。';
|
|
8
|
+
const faqData = [
|
|
9
|
+
{ question: 'カメラ日数とは何ですか?', answer: 'カメラ日数は、稼働したカメラ台数に稼働日数を掛けた値です。調査 effort を表しますが、地域の動物数を表すものではありません。' },
|
|
10
|
+
{ question: 'この計画は個体数を計算しますか?', answer: 'いいえ。運用上の effort と計画上の面積を示します。個体数、密度、占有率には、検出漏れを扱う検証済みの調査設計と統計モデルが必要です。' },
|
|
11
|
+
{ question: '設置間隔は何に使いますか?', answer: '各カメラの仮想的な正方形セルを作り、面積と台数から求めた均等配置の間隔と比較します。検出半径を表す値ではありません。' },
|
|
12
|
+
{ question: '確認スケジュールはどう使いますか?', answer: '週ごとの確認点を、訪問、電池、保存容量、画像確認の計画に使います。実際の調査プロトコルに合わせて現場の訪問記録へ置き換えてください。' },
|
|
13
|
+
];
|
|
14
|
+
const howToData = [
|
|
15
|
+
{ name: '調査面積を入力する', text: 'カメラ設置で調査する面積を入力します。メートル法とヤード・ポンド法を切り替えても物理的な値は保たれます。' },
|
|
16
|
+
{ name: '配置 effort を描く', text: 'カメラ台数、設置日数、目標間隔を入力します。図は相対的な計画グリッドであり、座標や検出範囲ではありません。' },
|
|
17
|
+
{ name: '画像量を見積もる', text: 'カメラ1台1日あたりの予想イベント数を入力します。カメラ日数に掛け、週ごとの確認点へ配分します。' },
|
|
18
|
+
{ name: '現場記録を準備する', text: 'カメラと設置セッションに固有の識別子を付け、設置情報を記録し、動物が写らない確認も含めて訪問を記録します。' },
|
|
19
|
+
];
|
|
20
|
+
const faqSchema: WithContext<FAQPage> = { '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faqData.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) };
|
|
21
|
+
const howToSchema: WithContext<HowTo> = { '@context': 'https://schema.org', '@type': 'HowTo', name: title, description, step: howToData.map((step, index) => ({ '@type': 'HowToStep', position: index + 1, name: step.name, text: step.text })) };
|
|
22
|
+
const appSchema: WithContext<SoftwareApplication> = { '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: title, description, applicationCategory: 'UtilityApplication', operatingSystem: 'All', offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' }, inLanguage: 'ja' };
|
|
23
|
+
|
|
24
|
+
export const content: WildlifeCameraTrapEffortPlannerLocaleContent = {
|
|
25
|
+
slug, title, description,
|
|
26
|
+
ui: {
|
|
27
|
+
areaPerCameraLabel: 'カメラ1台あたりの面積',
|
|
28
|
+
labelSurveyArea: '調査面積', labelCameraCount: 'カメラ台数', labelDeploymentDays: '設置日数', labelSpacing: '目標設置間隔', labelTriggerRate: 'カメラ1台1日あたりの予想イベント', unitHectares: 'ha', unitAcres: 'ac', unitMeters: 'm', unitFeet: 'ft', unitCameras: '台', unitDays: '日', unitEventsPerDay: 'イベント/日', helpSurveyArea: '設置で調査する面積です。', helpCameraCount: '今回の調査で稼働するカメラです。', helpDeploymentDays: '設置から回収までの日数です。', helpSpacing: '計画用のセル幅で、検出半径ではありません。', helpTriggerRate: '類似調査または試験設置から慎重な値を使います。', unitSystemLabel: '単位系', metricLabel: 'メートル法', imperialLabel: 'ヤード・ポンド法', presetsTitle: '現場の開始例', presetBackyard: '林縁', presetWoodland: '混交林', presetReserve: '大規模保護区', mapLabel: '相対的な設置計画図', mapCaption: '番号付きカメラを相対的な計画グリッドに配置しています。生息地の被覆図ではありません。', stationLabel: '地点', cameraDaysLabel: 'カメラ日数', expectedEventsLabel: '予想イベント', spacingLabel: '均等配置の間隔', reviewLoadLabel: '確認1回あたりのイベント', reviewScheduleTitle: '確認リズム', reviewScheduleText: '週ごとの確認点で画像量を事前に把握します。実際の訪問計画に合わせてください。', reviewDayLabel: '日', reviewEventsLabel: '予想イベント', statusBalanced: '間隔はおおむね均衡', statusSparse: '地点の間隔は広め', statusDense: '地点の間隔は狭め', statusReviewHeavy: '確認負荷に注意', statusNeedsInput: '調査計画を入力してください', statusNote: 'これは effort の計画です。動物の個体数や種の検出を保証するものではありません。', assumptionTitle: 'モデルの仮定', assumptionText: '各地点を目標間隔に基づく正方形セルとして扱います。予想イベントは、カメラと日によって発生率が一定だと仮定します。', limitationTitle: '現場での限界', limitationText: '地図上の均一さだけでなく、対象種と問いに合わせて地点を選びます。識別子、日付、向き、高さ、生息地、空振り確認を記録してください。',
|
|
29
|
+
},
|
|
30
|
+
seo: [
|
|
31
|
+
{ type: 'title', text: 'カメラトラップ調査の effort を計画する', level: 2 },
|
|
32
|
+
{ type: 'paragraph', html: '野生動物のカメラトラップ調査では、設置前に二つの負荷を確認します。どれだけの調査 effort になるか、そして画像を保存・確認・記録できるかです。この計画では、カメラ日数、予想イベント、地点図、確認点をまとめて考えられます。' },
|
|
33
|
+
{ type: 'title', text: 'カメラ日数で調査 effort を表す', level: 3 },
|
|
34
|
+
{ type: 'paragraph', html: 'カメラ日数は <code>カメラ台数 × 設置日数</code> です。12台を28日稼働すると336カメラ日数になります。調査間の比較には便利ですが、個体数推定ではなく、故障、生息地、動物の行動も補正しません。' },
|
|
35
|
+
{ type: 'list', items: ['<strong>カメラ台数:</strong> 調査中に稼働する機器を数えます。', '<strong>設置日数:</strong> 設置から回収までの予定日数です。', '<strong>発生率:</strong> 連写の写真数ではなく、カメラ1台1日あたりのイベントを使います。', '<strong>確認点:</strong> 保存容量、電池、訪問、画像確認を計画します。'] },
|
|
36
|
+
{ type: 'title', text: '設置図を計画用の補助として読む', level: 3 },
|
|
37
|
+
{ type: 'paragraph', html: '図は面積、台数、目標間隔から相対的な配置を描きます。仮想面積は地点数に目標間隔の二乗を掛けた値です。センサーの検出面積ではなく、地形、植生、道、向き、高さ、行動で検出確率は変わります。' },
|
|
38
|
+
{ type: 'title', text: '設置前に記録方法を決める', level: 3 },
|
|
39
|
+
{ type: 'paragraph', html: '対象種と研究の問いを決め、カメラとセッションに安定した識別子を付けます。日付、場所、高さ、向き、生息地、設定、稼働状態を記録します。何も写らない確認も調査過程の重要な記録です。' },
|
|
40
|
+
{ type: 'tip', title: 'effort を個体数に変換しない', html: 'カメラトラップには検出漏れがあります。運用と画像確認の予算にはこの計画を使い、占有率、密度、個体数、変化の分析には検証済みの生態学的設計を使ってください。' },
|
|
41
|
+
],
|
|
42
|
+
faq: faqData, howTo: howToData, bibliography, schemas: [faqSchema, howToSchema, appSchema],
|
|
43
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { FAQPage, HowTo, SoftwareApplication, WithContext } from 'schema-dts';
|
|
2
|
+
import { bibliography } from '../bibliography';
|
|
3
|
+
import type { WildlifeCameraTrapEffortPlannerLocaleContent } from '../entry';
|
|
4
|
+
|
|
5
|
+
const slug = 'wildlife-camera-trap-effort-planner';
|
|
6
|
+
const title = '야생동물 무인카메라 조사 계획표';
|
|
7
|
+
const description = '무인카메라 조사 노력, 카메라 일수와 이미지 확인 부담을 계획하고 개체 수를 추정하지 않는 배치 구상을 만듭니다.';
|
|
8
|
+
const faqData = [
|
|
9
|
+
{ question: '카메라 일수란 무엇인가요?', answer: '카메라 일수는 작동한 카메라 대수에 작동 일수를 곱한 값입니다. 표본 조사 노력을 나타내며 지역의 동물 수를 나타내지는 않습니다.' },
|
|
10
|
+
{ question: '이 계획표가 야생동물 개체 수를 계산하나요?', answer: '아닙니다. 운영 노력과 명목상 계획 면적을 계산합니다. 개체 수, 밀도와 점유율에는 불완전한 검출을 반영한 검증된 조사 설계와 통계 모형이 필요합니다.' },
|
|
11
|
+
{ question: '카메라 간격은 무엇을 하나요?', answer: '카메라별 명목상 정사각형 셀을 만들고 면적과 카메라 수에서 얻은 균등 격자 간격과 비교합니다. 검출 반경은 아닙니다.' },
|
|
12
|
+
{ question: '확인 일정은 어떻게 사용하나요?', answer: '주간 확인 지점을 방문, 배터리, 저장 공간과 이미지 검토 계획에 사용합니다. 실제 현장 프로토콜의 방문 기록으로 바꾸어 사용하세요.' },
|
|
13
|
+
];
|
|
14
|
+
const howToData = [
|
|
15
|
+
{ name: '조사 면적 입력', text: '카메라 배치로 조사할 면적을 입력합니다. 미터법과 야드파운드법을 바꾸어도 실제 물리 값은 유지됩니다.' },
|
|
16
|
+
{ name: '배치 노력 그리기', text: '카메라 수, 배치 기간과 목표 간격을 입력합니다. 그림은 상대적인 계획 격자이며 좌표나 보장된 검출 범위가 아닙니다.' },
|
|
17
|
+
{ name: '이미지 부담 추정', text: '카메라 한 대 하루당 예상 이벤트를 입력합니다. 카메라 일수와 곱한 뒤 주간 확인 지점에 나눕니다.' },
|
|
18
|
+
{ name: '현장 기록 준비', text: '카메라와 세션에 고유 식별자를 부여하고 설치 정보를 기록하며 동물이 찍히지 않은 확인도 모두 남깁니다.' },
|
|
19
|
+
];
|
|
20
|
+
const faqSchema: WithContext<FAQPage> = { '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faqData.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) };
|
|
21
|
+
const howToSchema: WithContext<HowTo> = { '@context': 'https://schema.org', '@type': 'HowTo', name: title, description, step: howToData.map((step, index) => ({ '@type': 'HowToStep', position: index + 1, name: step.name, text: step.text })) };
|
|
22
|
+
const appSchema: WithContext<SoftwareApplication> = { '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: title, description, applicationCategory: 'UtilityApplication', operatingSystem: 'All', offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' }, inLanguage: 'ko' };
|
|
23
|
+
|
|
24
|
+
export const content: WildlifeCameraTrapEffortPlannerLocaleContent = {
|
|
25
|
+
slug, title, description,
|
|
26
|
+
ui: {
|
|
27
|
+
areaPerCameraLabel: '카메라당 면적',
|
|
28
|
+
labelSurveyArea: '조사 면적', labelCameraCount: '카메라 지점', labelDeploymentDays: '배치 일수', labelSpacing: '목표 지점 간격', labelTriggerRate: '카메라 한 대 하루당 예상 이벤트', unitHectares: 'ha', unitAcres: 'ac', unitMeters: 'm', unitFeet: 'ft', unitCameras: '대', unitDays: '일', unitEventsPerDay: '이벤트/일', helpSurveyArea: '배치로 조사할 면적입니다.', helpCameraCount: '이번 조사에서 작동할 카메라입니다.', helpDeploymentDays: '설치부터 회수까지의 일수입니다.', helpSpacing: '계획용 셀 크기이며 검출 반경이 아닙니다.', helpTriggerRate: '비슷한 조사나 시험 배치에서 보수적인 값을 사용하세요.', unitSystemLabel: '측정 단위', metricLabel: '미터법', imperialLabel: '야드파운드법', presetsTitle: '현장 시작점', presetBackyard: '숲 가장자리', presetWoodland: '혼합림', presetReserve: '대형 보호구역', mapLabel: '상대적 카메라 배치 그림', mapCaption: '번호가 있는 지점을 상대적인 계획 격자에 배치합니다. 서식지 피복 지도는 아닙니다.', stationLabel: '지점', cameraDaysLabel: '카메라 일수', expectedEventsLabel: '예상 이벤트', spacingLabel: '균등 격자 간격', reviewLoadLabel: '확인당 이벤트', reviewScheduleTitle: '확인 주기', reviewScheduleText: '주간 지점으로 카메라를 설치하기 전에 이미지 부담을 확인합니다. 실제 방문 계획에 맞게 조정하세요.', reviewDayLabel: '일', reviewEventsLabel: '예상 이벤트', statusBalanced: '간격이 균형적으로 보입니다', statusSparse: '지점 간격이 넓어 보입니다', statusDense: '지점 간격이 좁아 보입니다', statusReviewHeavy: '이미지 확인 부담에 주의하세요', statusNeedsInput: '조사 계획을 완성하세요', statusNote: '이 도구는 조사 노력 계획입니다. 동물 개체 수나 종의 검출을 보장하지 않습니다.', assumptionTitle: '모형의 가정', assumptionText: '각 지점을 목표 간격에 따른 정사각형 셀로 취급합니다. 예상 이벤트는 카메라와 날짜에 따라 발생률이 일정하다고 가정합니다.', limitationTitle: '현장 한계', limitationText: '기하학적 균일성보다 대상 종과 질문에 따라 지점을 선택하세요. 식별자, 날짜, 방향, 높이, 서식지와 빈 확인을 기록하세요.',
|
|
29
|
+
},
|
|
30
|
+
seo: [
|
|
31
|
+
{ type: 'title', text: '무인카메라 조사 노력을 계획하는 방법', level: 2 },
|
|
32
|
+
{ type: 'paragraph', html: '야생동물 무인카메라 조사는 설치 전에 두 가지를 확인해야 합니다. 배치가 얼마나 큰 조사 노력인지, 예상 이미지 흐름을 저장하고 검토하고 기록할 수 있는지입니다. 이 계획표는 카메라 일수, 예상 이벤트, 상대적 지점 그림과 확인 지점으로 이를 정리합니다.' },
|
|
33
|
+
{ type: 'title', text: '카메라 일수로 조사 노력을 표현하기', level: 3 },
|
|
34
|
+
{ type: 'paragraph', html: '카메라 일수는 <code>카메라 지점 × 배치 일수</code>입니다. 카메라 12대를 28일 작동하면 336 카메라 일수입니다. 캠페인 비교에는 유용하지만 개체 수 추정이 아니며 고장, 서식지 차이와 동물 행동을 보정하지 않습니다.' },
|
|
35
|
+
{ type: 'list', items: ['<strong>카메라 지점:</strong> 캠페인에서 작동하는 장비 수입니다.', '<strong>배치 일수:</strong> 설치부터 회수까지의 예정 기간입니다.', '<strong>발생률:</strong> 연속 촬영 사진 수가 아니라 카메라 한 대 하루당 이벤트를 사용합니다.', '<strong>확인 지점:</strong> 저장 공간, 배터리, 방문과 이미지 검토를 계획합니다.'] },
|
|
36
|
+
{ type: 'title', text: '현장 그림을 계획 보조 도구로 읽기', level: 3 },
|
|
37
|
+
{ type: 'paragraph', html: '그림은 면적, 카메라 수와 목표 간격으로 상대적인 배치를 보여 줍니다. 명목상 면적은 지점 수에 목표 간격의 제곱을 곱한 값입니다. 센서의 검출 면적이 아니며 지형, 식생, 길, 방향, 높이와 행동에 따라 검출 확률이 달라집니다.' },
|
|
38
|
+
{ type: 'title', text: '배치 전에 기록 방식을 준비하기', level: 3 },
|
|
39
|
+
{ type: 'paragraph', html: '대상 종과 조사 질문을 먼저 정하고 카메라와 세션에 안정적인 식별자를 부여하세요. 날짜, 위치, 높이, 방향, 서식지, 설정과 작동 상태를 설치와 확인 때 기록하세요. 아무것도 찍히지 않은 확인도 조사 과정의 기록입니다.' },
|
|
40
|
+
{ type: 'tip', title: '조사 노력을 개체 수로 바꾸지 마세요', html: '무인카메라는 불완전한 검출의 영향을 받습니다. 운영과 이미지 검토 예산에는 이 계획을 사용하고 점유율, 개체 수, 밀도와 변화 분석에는 검증된 생태학적 설계를 사용하세요.' },
|
|
41
|
+
],
|
|
42
|
+
faq: faqData, howTo: howToData, bibliography, schemas: [faqSchema, howToSchema, appSchema],
|
|
43
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { FAQPage, HowTo, SoftwareApplication, WithContext } from 'schema-dts';
|
|
2
|
+
import { bibliography } from '../bibliography';
|
|
3
|
+
import type { WildlifeCameraTrapEffortPlannerLocaleContent } from '../entry';
|
|
4
|
+
|
|
5
|
+
const slug = 'planner-inspanning-wildcamera';
|
|
6
|
+
const title = "Planner voor inspanning met wildcamera's";
|
|
7
|
+
const description = "Plan de inzet van wildcamera's, schat cameradagen en controlewerk en teken een opstelling zonder een populatieschatting te maken.";
|
|
8
|
+
const faqData = [
|
|
9
|
+
{ question: 'Wat zijn cameradagen?', answer: "Cameradagen zijn het aantal camera's vermenigvuldigd met het aantal actieve dagen. Ze beschrijven de bemonsteringsinspanning, niet het aantal dieren in een gebied." },
|
|
10
|
+
{ question: 'Berekent de planner de populatiegrootte?', answer: 'Nee. De planner schat operationele inspanning en een nominale planningsoppervlakte. Voor aantallen, dichtheid en bezetting zijn een gevalideerd ontwerp en een model voor onvolmaakte detectie nodig.' },
|
|
11
|
+
{ question: 'Wat doet de afstand tussen stations?', answer: "De afstand maakt een nominale vierkante cel per camera en vergelijkt die met een gelijkmatig raster uit oppervlakte en aantal camera's. Het is geen detectieradius." },
|
|
12
|
+
{ question: 'Hoe gebruik ik het controleschema?', answer: 'Gebruik de wekelijkse punten om bezoeken, batterijen, opslag en beeldcontrole te plannen. Vervang ze door de echte bezoeken uit je veldprotocol.' },
|
|
13
|
+
];
|
|
14
|
+
const howToData = [
|
|
15
|
+
{ name: 'Beschrijf het onderzoeksgebied', text: 'Voer het gebied in dat de inzet moet bemonsteren. De metrische of imperiale schakelaar houdt de fysieke waarde gelijk.' },
|
|
16
|
+
{ name: 'Plan het raster', text: "Voer camera's, inzetduur en doelafstand in. De schets toont een relatief planningsraster, geen coördinaten of gegarandeerde detectiezones." },
|
|
17
|
+
{ name: 'Schat de beeldbelasting', text: 'Voer verwachte gebeurtenissen per camera per dag in. De planner vermenigvuldigt dit met cameradagen en verdeelt het over controles.' },
|
|
18
|
+
{ name: 'Maak veldregistraties', text: "Geef camera's en sessies unieke codes, noteer de plaatsing en registreer elke controle, ook zonder wilddetectie." },
|
|
19
|
+
];
|
|
20
|
+
const faqSchema: WithContext<FAQPage> = { '@context': 'https://schema.org', '@type': 'FAQPage', mainEntity: faqData.map((item) => ({ '@type': 'Question', name: item.question, acceptedAnswer: { '@type': 'Answer', text: item.answer } })) };
|
|
21
|
+
const howToSchema: WithContext<HowTo> = { '@context': 'https://schema.org', '@type': 'HowTo', name: title, description, step: howToData.map((step, index) => ({ '@type': 'HowToStep', position: index + 1, name: step.name, text: step.text })) };
|
|
22
|
+
const appSchema: WithContext<SoftwareApplication> = { '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: title, description, applicationCategory: 'UtilityApplication', operatingSystem: 'All', offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' }, inLanguage: 'nl' };
|
|
23
|
+
|
|
24
|
+
export const content: WildlifeCameraTrapEffortPlannerLocaleContent = {
|
|
25
|
+
slug, title, description,
|
|
26
|
+
ui: {
|
|
27
|
+
areaPerCameraLabel: 'Oppervlakte per camera',
|
|
28
|
+
labelSurveyArea: 'Onderzoeksgebied', labelCameraCount: 'Camerastations', labelDeploymentDays: 'Inzetdagen', labelSpacing: 'Doelafstand tussen stations', labelTriggerRate: 'Verwachte gebeurtenissen per camera per dag', unitHectares: 'ha', unitAcres: 'ac', unitMeters: 'm', unitFeet: 'ft', unitCameras: "camera's", unitDays: 'dagen', unitEventsPerDay: 'gebeurtenissen per dag', helpSurveyArea: 'Het gebied dat de inzet moet bemonsteren.', helpCameraCount: "Actieve camera's in deze campagne.", helpDeploymentDays: 'Dagen tussen plaatsing en ophalen.', helpSpacing: 'Een planningscel, geen detectieradius.', helpTriggerRate: 'Gebruik een voorzichtige waarde uit vergelijkbaar veldwerk of een test.', unitSystemLabel: 'Meetsysteem', metricLabel: 'Metrisch', imperialLabel: 'Imperiaal', presetsTitle: 'Startpunten voor het veld', presetBackyard: 'Bosrand bij huis', presetWoodland: 'Gemengd bos', presetReserve: 'Groot reservaat', mapLabel: 'Relatieve schets van de inzet', mapCaption: 'Genummerde stations in een relatief planningsraster. De cellen zijn geen habitatkaart.', stationLabel: 'station', cameraDaysLabel: 'Cameradagen', expectedEventsLabel: 'Verwachte gebeurtenissen', spacingLabel: 'Afstand in gelijkmatig raster', reviewLoadLabel: 'Gebeurtenissen per controle', reviewScheduleTitle: 'Controleritme', reviewScheduleText: 'Wekelijkse punten maken de beeldbelasting zichtbaar vóór plaatsing. Vervang ze door de bezoeken uit je protocol.', reviewDayLabel: 'Dag', reviewEventsLabel: 'verwachte gebeurtenissen', statusBalanced: 'Afstand lijkt evenwichtig', statusSparse: 'Stations lijken ver uit elkaar', statusDense: 'Stations lijken dicht bij elkaar', statusReviewHeavy: 'Controlebelasting vraagt aandacht', statusNeedsInput: 'Vul een volledig inzetplan in', statusNote: 'Dit is een inspanningsplan. Het zegt niet hoeveel dieren in het gebied leven en garandeert geen soortdetectie.', assumptionTitle: 'Aannames van het model', assumptionText: "De nominale oppervlakte behandelt elk station als een vierkante cel op basis van de doelafstand. Verwachte gebeurtenissen veronderstellen een constant tempo bij alle camera's en dagen.", limitationTitle: 'Grenzen in het veld', limitationText: 'Kies locaties op basis van soort en vraag, niet alleen op geometrie. Noteer codes, datums, richting, hoogte, habitat en controles zonder detectie.',
|
|
29
|
+
},
|
|
30
|
+
seo: [
|
|
31
|
+
{ type: 'title', text: "Inspanning met wildcamera's plannen", level: 2 },
|
|
32
|
+
{ type: 'paragraph', html: "Een project met wildcamera's moet vóór plaatsing twee vragen beantwoorden. Hoeveel bemonsteringsinspanning vertegenwoordigt de inzet? Kunnen de verwachte beelden worden opgeslagen, gecontroleerd en gedocumenteerd? Deze planner vertaalt dat naar cameradagen, gebeurtenissen, een stationsschets en controlemomenten." },
|
|
33
|
+
{ type: 'title', text: 'Cameradagen gebruiken als maat voor inspanning', level: 3 },
|
|
34
|
+
{ type: 'paragraph', html: "Cameradagen zijn <code>camerastations × inzetdagen</code>. Twaalf camera's die 28 dagen actief zijn leveren 336 cameradagen. Dat helpt campagnes vergelijken, maar is geen populatieschatting en corrigeert niet voor defecten, habitat of gedrag." },
|
|
35
|
+
{ type: 'list', items: ['<strong>Camerastations:</strong> apparaten die tijdens de campagne actief zijn.', '<strong>Inzetdagen:</strong> geplande dagen tussen plaatsing en ophalen.', '<strong>Gebeurtenissentempo:</strong> gebeurtenissen per camera per dag, niet elke foto uit een burst.', '<strong>Controles:</strong> plan opslag, batterijen, bezoeken en beeldcontrole.'] },
|
|
36
|
+
{ type: 'title', text: 'De veldschets als planningshulp lezen', level: 3 },
|
|
37
|
+
{ type: 'paragraph', html: "De schets gebruikt gebied, aantal camera's en doelafstand voor een relatieve opstelling. De nominale oppervlakte is het aantal stations maal de afstand in het kwadraat. Dit is geen sensoroppervlakte: terrein, vegetatie, paden, hoogte, richting en gedrag veranderen de detectiekans." },
|
|
38
|
+
{ type: 'title', text: 'Vooraf betere veldregistraties maken', level: 3 },
|
|
39
|
+
{ type: 'paragraph', html: 'Bepaal doelsoort en onderzoeksvraag. Geef elke camera en sessie een vaste code. Noteer bij plaatsing en controle datum, locatie, hoogte, richting, habitat, instellingen en werking. Ook een controle zonder detectie is een echte waarneming van het protocol.' },
|
|
40
|
+
{ type: 'tip', title: 'Maak van inspanning geen aantal dieren', html: "Wildcamera's hebben onvolmaakte detectie. Gebruik deze planner voor veld- en beeldwerk en een gevalideerd ecologisch ontwerp voor bezetting, aantallen, dichtheid of populatieverandering." },
|
|
41
|
+
],
|
|
42
|
+
faq: faqData, howTo: howToData, bibliography, schemas: [faqSchema, howToSchema, appSchema],
|
|
43
|
+
};
|