@datosgeo-atdt/geo-ui 1.11.13 → 1.12.1
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/README.md +152 -1
- package/dist/components/MapaPMTiles.d.ts +2 -0
- package/dist/components/MapaPMTiles.d.ts.map +1 -1
- package/dist/geo-ui.js +4401 -4381
- package/dist/geo-ui.js.map +1 -1
- package/dist/geo-ui.umd.cjs +44 -44
- package/dist/geo-ui.umd.cjs.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,6 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
Librería de componentes reutilizables en React para aplicaciones geoespaciales. Incluye visualización de mapas con PMTiles, unión con datos tabulares CSV y estilos temáticos (booleano y Jenks).
|
|
4
4
|
|
|
5
|
+
## Novedades en v1.12.1
|
|
6
|
+
|
|
7
|
+
**Colores personalizados para mapas**: Ahora puedes personalizar completamente los colores de tus mapas con las nuevas props `color` y `colorMunicipios`.
|
|
8
|
+
|
|
9
|
+
- **Modo Boolean**: Define colores para valores verdaderos y falsos
|
|
10
|
+
- **Modo Jenks**:
|
|
11
|
+
- Genera rampas automáticas entre dos colores
|
|
12
|
+
- O especifica colores exactos para cada clase
|
|
13
|
+
- **Municipios**: Colores independientes para drill-down municipal
|
|
14
|
+
- **Retrocompatible**: Si no especificas colores, usa los defaults actuales
|
|
15
|
+
|
|
16
|
+
[Ver ejemplos de colores personalizados](#ejemplo-con-colores-personalizados)
|
|
17
|
+
|
|
5
18
|
## Características
|
|
6
19
|
|
|
7
20
|
- **MapaPMTiles**: Componente para renderizar mapas vectoriales usando MapLibre GL y PMTiles
|
|
@@ -174,6 +187,109 @@ cvegeo,nombre,valor
|
|
|
174
187
|
09010,Álvaro Obregón,175
|
|
175
188
|
```
|
|
176
189
|
|
|
190
|
+
### Ejemplo con Colores Personalizados
|
|
191
|
+
|
|
192
|
+
**Nuevo en v1.12.1**: Ahora puedes personalizar los colores de los mapas usando la prop `color`.
|
|
193
|
+
|
|
194
|
+
#### Colores para modo Boolean
|
|
195
|
+
|
|
196
|
+
Especifica dos colores: `[colorFalse, colorTrue]`
|
|
197
|
+
|
|
198
|
+
```tsx
|
|
199
|
+
// Colores azules en lugar de los defaults
|
|
200
|
+
<MapaPMTiles
|
|
201
|
+
csvUrl="https://example.com/datos.csv"
|
|
202
|
+
mode="boolean"
|
|
203
|
+
color={['#e3f2fd', '#1976d2']} // azul claro para 0, azul oscuro para 1
|
|
204
|
+
/>
|
|
205
|
+
|
|
206
|
+
// Colores rojos
|
|
207
|
+
<MapaPMTiles
|
|
208
|
+
csvUrl="https://example.com/datos.csv"
|
|
209
|
+
mode="boolean"
|
|
210
|
+
color={['#ffebee', '#c62828']} // rojo claro para 0, rojo oscuro para 1
|
|
211
|
+
/>
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
#### Colores para modo Jenks - Rampa automática
|
|
215
|
+
|
|
216
|
+
Especifica dos colores y se generará una rampa automáticamente:
|
|
217
|
+
|
|
218
|
+
```tsx
|
|
219
|
+
// Rampa de naranjas
|
|
220
|
+
<MapaPMTiles
|
|
221
|
+
csvUrl="https://example.com/datos.csv"
|
|
222
|
+
mode="jenks"
|
|
223
|
+
jenksK={5}
|
|
224
|
+
color={['#fff3e0', '#e65100']} // naranja claro a naranja oscuro
|
|
225
|
+
/>
|
|
226
|
+
|
|
227
|
+
// Rampa de verdes
|
|
228
|
+
<MapaPMTiles
|
|
229
|
+
csvUrl="https://example.com/datos.csv"
|
|
230
|
+
mode="jenks"
|
|
231
|
+
jenksK={7}
|
|
232
|
+
color={['#e8f5e9', '#1b5e20']} // verde claro a verde oscuro
|
|
233
|
+
/>
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
#### Colores para modo Jenks - Colores exactos por clase
|
|
237
|
+
|
|
238
|
+
Especifica exactamente tantos colores como clases tengas:
|
|
239
|
+
|
|
240
|
+
```tsx
|
|
241
|
+
// 4 clases = 4 colores exactos
|
|
242
|
+
<MapaPMTiles
|
|
243
|
+
csvUrl="https://example.com/datos.csv"
|
|
244
|
+
mode="jenks"
|
|
245
|
+
jenksK={4}
|
|
246
|
+
color={['#fff9c4', '#ffeb3b', '#fbc02d', '#f57f17']} // amarillos
|
|
247
|
+
/>
|
|
248
|
+
|
|
249
|
+
// 3 clases = 3 colores exactos
|
|
250
|
+
<MapaPMTiles
|
|
251
|
+
csvUrl="https://example.com/datos.csv"
|
|
252
|
+
mode="jenks"
|
|
253
|
+
jenksK={3}
|
|
254
|
+
color={['#bbdefb', '#42a5f5', '#0d47a1']} // azules
|
|
255
|
+
/>
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
#### Colores para municipios (drill-down)
|
|
259
|
+
|
|
260
|
+
Usa `colorMunicipios` para colores diferentes en el nivel municipal:
|
|
261
|
+
|
|
262
|
+
```tsx
|
|
263
|
+
// Entidades con colores verdes, municipios con colores azules
|
|
264
|
+
<MapaPMTiles
|
|
265
|
+
csvUrl="https://example.com/datos_entidades.csv"
|
|
266
|
+
mode="jenks"
|
|
267
|
+
color={['#e8f5e9', '#2e7d32']} // verdes para entidades
|
|
268
|
+
|
|
269
|
+
fitToIds={["09", "15", "14"]}
|
|
270
|
+
|
|
271
|
+
csvUrlMunicipios="https://example.com/datos_municipios.csv"
|
|
272
|
+
modeMunicipios="jenks"
|
|
273
|
+
colorMunicipios={['#e3f2fd', '#1565c0']} // azules para municipios
|
|
274
|
+
/>
|
|
275
|
+
|
|
276
|
+
// Boolean para entidades, Jenks con colores custom para municipios
|
|
277
|
+
<MapaPMTiles
|
|
278
|
+
csvUrl="https://example.com/datos_entidades.csv"
|
|
279
|
+
mode="boolean"
|
|
280
|
+
color={['#ffccbc', '#d84315']} // naranjas para boolean
|
|
281
|
+
|
|
282
|
+
fitToIds={["09", "15"]}
|
|
283
|
+
|
|
284
|
+
csvUrlMunicipios="https://example.com/datos_municipios.csv"
|
|
285
|
+
modeMunicipios="jenks"
|
|
286
|
+
jenksK={6}
|
|
287
|
+
colorMunicipios={['#f3e5f5', '#6a1b9a']} // púrpuras para jenks
|
|
288
|
+
/>
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
**Importante**: Si no especificas la prop `color` o `colorMunicipios`, se usan los colores predeterminados (`#f3f3f3` y `#66827f`).
|
|
292
|
+
|
|
177
293
|
### Ejemplo con Popup (información al pasar el mouse)
|
|
178
294
|
|
|
179
295
|
Puedes habilitar un popup que se muestra al pasar el mouse sobre las features:
|
|
@@ -1035,6 +1151,7 @@ Puedes sobrescribir los estilos usando la clase `className`:
|
|
|
1035
1151
|
| `fitToIds` | `string \| string[]` | `undefined` | ID o array de IDs de features para filtrar y hacer zoom automático (sin animación) |
|
|
1036
1152
|
| `bboxField` | `string` | `"bbox"` | Campo con bbox precalculado en PMTiles |
|
|
1037
1153
|
| `jenksK` | `number` | `5` | Número de clases para clasificación Jenks |
|
|
1154
|
+
| `color` | `[string, string] \| string[]` | `['#f3f3f3', '#66827f']` | **Nuevo en v1.12.1**: Colores personalizados. Para boolean: `[colorFalse, colorTrue]`. Para jenks: `[colorMin, colorMax]` (rampa) o array exacto de colores por clase |
|
|
1038
1155
|
| `showMunicipios` | `boolean` | `false` | Activa modo municipal: muestra municipios con datos temáticos y entidad como contorno |
|
|
1039
1156
|
| `enablePopup` | `boolean` | `false` | Habilita popup con hover para mostrar información |
|
|
1040
1157
|
| `popupDataLabel` | `string` | `undefined` | Etiqueta para el dato adicional del popup (ej: "Población total") |
|
|
@@ -1044,6 +1161,7 @@ Puedes sobrescribir los estilos usando la clase `className`:
|
|
|
1044
1161
|
| `joinCsvKeyMunicipios` | `string` | `"cvegeo"` | Campo del CSV municipal para hacer el join (por defecto usa cvegeo de 5 dígitos) |
|
|
1045
1162
|
| `fieldMunicipios` | `string` | `field` | Campo del CSV municipal con los valores a visualizar (por defecto usa el mismo `field` de entidades) |
|
|
1046
1163
|
| `modeMunicipios` | `"boolean" \| "jenks"` | `mode` | Modo de estilo para municipios (permite usar diferente clasificación que entidades) |
|
|
1164
|
+
| `colorMunicipios` | `[string, string] \| string[]` | `color` | **Nuevo en v1.12.1**: Colores personalizados para municipios. Mismo formato que `color` (por defecto usa los mismos colores que `color`) |
|
|
1047
1165
|
| `onFeatureClick` | `(featureId: string, properties: any) => void` | `undefined` | Callback que se ejecuta al hacer click en una feature del mapa. Recibe el ID de la feature y sus propiedades. Solo funciona cuando hay 2 o más entidades en `fitToIds` |
|
|
1048
1166
|
|
|
1049
1167
|
## Modos de Estilo
|
|
@@ -1052,9 +1170,20 @@ Puedes sobrescribir los estilos usando la clase `className`:
|
|
|
1052
1170
|
|
|
1053
1171
|
Pinta las geometrías en dos colores según el valor:
|
|
1054
1172
|
|
|
1173
|
+
**Colores por defecto:**
|
|
1055
1174
|
- `value === 1` → **#66827f** (verde azulado)
|
|
1056
1175
|
- `value === 0 / null / undefined` → **#f3f3f3** (gris claro)
|
|
1057
1176
|
|
|
1177
|
+
**Colores personalizados** (v1.12.1+):
|
|
1178
|
+
```tsx
|
|
1179
|
+
<MapaPMTiles
|
|
1180
|
+
mode="boolean"
|
|
1181
|
+
color={['#e3f2fd', '#1976d2']} // [colorFalse, colorTrue]
|
|
1182
|
+
{...otherProps}
|
|
1183
|
+
/>
|
|
1184
|
+
```
|
|
1185
|
+
|
|
1186
|
+
**Sin colores personalizados:**
|
|
1058
1187
|
```tsx
|
|
1059
1188
|
<MapaPMTiles
|
|
1060
1189
|
mode="boolean"
|
|
@@ -1064,11 +1193,33 @@ Pinta las geometrías en dos colores según el valor:
|
|
|
1064
1193
|
|
|
1065
1194
|
### Modo Jenks
|
|
1066
1195
|
|
|
1067
|
-
Clasifica los valores numéricos usando el algoritmo Jenks Natural Breaks y aplica una rampa de colores
|
|
1196
|
+
Clasifica los valores numéricos usando el algoritmo Jenks Natural Breaks y aplica una rampa de colores.
|
|
1068
1197
|
|
|
1198
|
+
**Colores por defecto:**
|
|
1069
1199
|
- De **#f3f3f3** (gris claro) a **#66827f** (verde azulado)
|
|
1070
1200
|
- Número de clases controlado por `jenksK` (default: 5)
|
|
1071
1201
|
|
|
1202
|
+
**Colores personalizados - Rampa automática** (v1.12.1+):
|
|
1203
|
+
```tsx
|
|
1204
|
+
<MapaPMTiles
|
|
1205
|
+
mode="jenks"
|
|
1206
|
+
jenksK={5}
|
|
1207
|
+
color={['#fff3e0', '#e65100']} // [colorMin, colorMax]
|
|
1208
|
+
{...otherProps}
|
|
1209
|
+
/>
|
|
1210
|
+
```
|
|
1211
|
+
|
|
1212
|
+
**Colores personalizados - Colores exactos** (v1.12.1+):
|
|
1213
|
+
```tsx
|
|
1214
|
+
<MapaPMTiles
|
|
1215
|
+
mode="jenks"
|
|
1216
|
+
jenksK={4}
|
|
1217
|
+
color={['#fff9c4', '#ffeb3b', '#fbc02d', '#f57f17']} // 4 colores = 4 clases
|
|
1218
|
+
{...otherProps}
|
|
1219
|
+
/>
|
|
1220
|
+
```
|
|
1221
|
+
|
|
1222
|
+
**Sin colores personalizados:**
|
|
1072
1223
|
```tsx
|
|
1073
1224
|
<MapaPMTiles
|
|
1074
1225
|
mode="jenks"
|
|
@@ -17,6 +17,7 @@ export interface MapaPMTilesProps {
|
|
|
17
17
|
fitToIds?: string | string[];
|
|
18
18
|
bboxField?: string;
|
|
19
19
|
jenksK?: number;
|
|
20
|
+
color?: [string, string] | string[];
|
|
20
21
|
showMunicipios?: boolean;
|
|
21
22
|
enablePopup?: boolean;
|
|
22
23
|
popupDataLabel?: string;
|
|
@@ -26,6 +27,7 @@ export interface MapaPMTilesProps {
|
|
|
26
27
|
joinCsvKeyMunicipios?: string;
|
|
27
28
|
fieldMunicipios?: string;
|
|
28
29
|
modeMunicipios?: 'boolean' | 'jenks';
|
|
30
|
+
colorMunicipios?: [string, string] | string[];
|
|
29
31
|
onFeatureClick?: (featureId: string, properties: any) => void;
|
|
30
32
|
}
|
|
31
33
|
export declare const MapaPMTiles: React.FC<MapaPMTilesProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapaPMTiles.d.ts","sourceRoot":"","sources":["../../src/components/MapaPMTiles.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAM3D,OAAO,mBAAmB,CAAC;AAE3B,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE;QACZ,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"MapaPMTiles.d.ts","sourceRoot":"","sources":["../../src/components/MapaPMTiles.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAM3D,OAAO,mBAAmB,CAAC;AAE3B,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE;QACZ,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAKhB,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;IACpC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,IAAI,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IACrC,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;IAE9C,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,IAAI,CAAC;CAC/D;AAuDD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAqwBlD,CAAC"}
|