@datosgeo-atdt/geo-ui 0.4.7 → 0.5.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/README.md CHANGED
@@ -1,346 +1,311 @@
1
- # @atdt/geo-ui
2
-
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
-
5
- ## Características
6
-
7
- - **MapaPMTiles**: Componente para renderizar mapas vectoriales usando MapLibre GL y PMTiles
8
- - **Join CSV**: Unión automática de datos tabulares con geometrías vectoriales
9
- - **Estilos temáticos**: Soporte para modo booleano y clasificación Jenks
10
- - **TypeScript**: Completamente tipado para mejor experiencia de desarrollo
11
- - **Sin SSR**: Diseñado para aplicaciones client-side (React puro, Vite, CRA)
12
-
13
- ## Instalación
14
-
15
- ```bash
16
- npm install @atdt/geo-ui maplibre-gl pmtiles papaparse @mapbox/vector-tile pbf
17
- ```
18
-
19
- **Importante**: Las dependencias `react` y `react-dom` son peer dependencies (versión 18+).
20
-
21
- ## Uso Básico
22
-
23
- ### Importar el componente
24
-
25
- ```tsx
26
- import { MapaPMTiles } from '@atdt/geo-ui';
27
- import '@atdt/geo-ui/style.css';
28
- ```
29
-
30
- ### Ejemplo básico (usando valores por defecto)
31
-
32
- La biblioteca incluye **integrada** la URL del PMTiles de entidades de México, por lo que no necesitas especificar `pmtilesUrl`, `sourceLayer` ni `joinGeomKey` si trabajas con entidades:
33
-
34
- ```tsx
35
- import React from 'react';
36
- import { MapaPMTiles } from '@atdt/geo-ui';
37
- import '@atdt/geo-ui/style.css';
38
-
39
- function App() {
40
- return (
41
- <MapaPMTiles
42
- csvUrl="https://example.com/datos.csv"
43
- field="valor"
44
- mode="boolean"
45
- width="100%"
46
- height={600}
47
- />
48
- );
49
- }
50
-
51
- export default App;
52
- ```
53
-
54
- ### Ejemplo con csvUrl (especificando PMTiles personalizado)
55
-
56
- ```tsx
57
- import React from 'react';
58
- import { MapaPMTiles } from '@atdt/geo-ui';
59
- import '@atdt/geo-ui/style.css';
60
-
61
- function App() {
62
- return (
63
- <MapaPMTiles
64
- pmtilesUrl="https://example.com/custom.pmtiles"
65
- sourceLayer="mi-capa"
66
- joinGeomKey="ID"
67
- csvUrl="https://example.com/datos.csv"
68
- field="valor"
69
- mode="boolean"
70
- width="100%"
71
- height={600}
72
- />
73
- );
74
- }
75
-
76
- export default App;
77
- ```
78
-
79
- ### Ejemplo con csvFile (archivo local)
80
-
81
- ```tsx
82
- import React, { useState } from 'react';
83
- import { MapaPMTiles } from '@atdt/geo-ui';
84
- import '@atdt/geo-ui/style.css';
85
-
86
- function App() {
87
- const [csvFile, setCsvFile] = useState<File | null>(null);
88
-
89
- return (
90
- <div>
91
- <input
92
- type="file"
93
- accept=".csv"
94
- onChange={(e) => setCsvFile(e.target.files?.[0] || null)}
95
- />
96
- {csvFile && (
97
- <MapaPMTiles
98
- csvFile={csvFile}
99
- field="poblacion"
100
- mode="jenks"
101
- jenksK={5}
102
- />
103
- )}
104
- </div>
105
- );
106
- }
107
-
108
- export default App;
109
- ```
110
-
111
- ### Ejemplo con fitToIds (zoom y filtrado por entidades)
112
-
113
- Muestra **solo** las entidades seleccionadas y ajusta el mapa automáticamente a su extensión (sin animación):
114
-
115
- ```tsx
116
- // Mostrar solo Ciudad de México
117
- <MapaPMTiles
118
- csvUrl="https://example.com/datos.csv"
119
- fitToIds="09"
120
- />
121
-
122
- // Mostrar múltiples entidades (Ciudad de México, Estado de México y Jalisco)
123
- <MapaPMTiles
124
- csvUrl="https://example.com/datos.csv"
125
- fitToIds={["09", "15", "14"]}
126
- />
127
- ```
128
-
129
- **Ventajas de usar `fitToIds`:**
130
- - ✅ No necesitas configurar `pmtilesUrl` (está integrado)
131
- - ✅ Filtra automáticamente para mostrar solo las entidades seleccionadas
132
- - ✅ Calcula y ajusta el bbox combinado sin animación de zoom
133
- - ✅ Carga directo en la vista correcta
134
-
135
- ### Ejemplo con municipios
136
-
137
- Cuando usas `fitToIds`, puedes habilitar la visualización de municipios con `showMunicipios`:
138
-
139
- ```tsx
140
- // Mostrar municipios con datos (aplica el mismo modo que entidades)
141
- <MapaPMTiles
142
- csvUrl="https://example.com/datos-entidades.csv"
143
- fitToIds="01"
144
- showMunicipios={true}
145
- municipiosCsvUrl="https://example.com/datos-municipios.csv"
146
- municipiosField="poblacion"
147
- mode="jenks"
148
- />
149
-
150
- // Mostrar solo contornos de municipios (sin datos)
151
- <MapaPMTiles
152
- csvUrl="https://example.com/datos-entidades.csv"
153
- fitToIds={["09", "15"]}
154
- showMunicipios={true}
155
- />
156
- ```
157
-
158
- **Características de la capa de municipios:**
159
- - URL del PMTiles de municipios integrada
160
- - Filtrado automático por CVE_ENT de las entidades seleccionadas
161
- - ✅ Join con CVEGEO en mayúsculas
162
- - Aplica el mismo modo (boolean/jenks) que las entidades si proporcionas CSV
163
- - ✅ Si no proporcionas CSV, solo muestra contornos (outline)
164
- - El contorno de entidades se hace más grueso cuando se muestran municipios
165
-
166
- ## Props
167
-
168
- ### Props Obligatorias
169
-
170
- | Prop | Tipo | Descripción |
171
- |------|------|-------------|
172
- | `csvUrl` o `csvFile` | `string \| File` | URL del CSV remoto o archivo File local. **Al menos uno debe estar presente** |
173
-
174
- ### Props Opcionales
175
-
176
- | Prop | Tipo | Default | Descripción |
177
- |------|------|---------|-------------|
178
- | `pmtilesUrl` | `string` | `"https://www.datosgeoespaciales.atdt.gob.mx/datalake/pmtiles/componente/entidad.pmtiles"` | URL del archivo PMTiles remoto. **Por defecto usa el PMTiles de entidades de México** |
179
- | `sourceLayer` | `string` | `"entidad"` | Nombre de la capa vectorial dentro del PMTiles |
180
- | `joinGeomKey` | `string` | `"cvegeo"` | Campo de la geometría para hacer el join (también usado como `promoteId`) |
181
- | `joinCsvKey` | `string` | `joinGeomKey` | Campo del CSV para hacer el join |
182
- | `field` | `string` | `"valor"` | Campo del CSV con los valores a visualizar |
183
- | `mode` | `"boolean" \| "jenks"` | `"boolean"` | Modo de estilo: booleano o clasificación Jenks |
184
- | `width` | `string \| number` | `"100%"` | Ancho del mapa |
185
- | `height` | `string \| number` | `520` | Alto del mapa (en px si es número) |
186
- | `initialView` | `object` | `{center: [-102, 23], zoom: 4}` | Vista inicial del mapa (ignorado si se usa `fitToIds`) |
187
- | `initialView.center` | `[number, number]` | `[-102, 23]` | Centro inicial [lng, lat] |
188
- | `initialView.zoom` | `number` | `4` | Zoom inicial |
189
- | `fitToIds` | `string \| string[]` | `undefined` | ID o array de IDs de features para filtrar y hacer zoom automático (sin animación) |
190
- | `bboxField` | `string` | `"bbox"` | Campo con bbox precalculado en PMTiles |
191
- | `jenksK` | `number` | `5` | Número de clases para clasificación Jenks |
192
- | `showMunicipios` | `boolean` | `false` | Habilita la visualización de municipios (requiere `fitToIds`) |
193
- | `municipiosCsvUrl` | `string` | `undefined` | URL del CSV para unir con municipios (opcional) |
194
- | `municipiosCsvFile` | `File` | `undefined` | Archivo CSV para unir con municipios (opcional) |
195
- | `municipiosField` | `string` | `"valor"` | Campo del CSV de municipios con los valores a visualizar |
196
-
197
- ## Modos de Estilo
198
-
199
- ### Modo Boolean
200
-
201
- Pinta las geometrías en dos colores según el valor:
202
-
203
- - `value === 1` → **#66827f** (verde azulado)
204
- - `value === 0 / null / undefined` → **#f3f3f3** (gris claro)
205
-
206
- ```tsx
207
- <MapaPMTiles
208
- mode="boolean"
209
- {...otherProps}
210
- />
211
- ```
212
-
213
- ### Modo Jenks
214
-
215
- Clasifica los valores numéricos usando el algoritmo Jenks Natural Breaks y aplica una rampa de colores:
216
-
217
- - De **#f3f3f3** (gris claro) a **#66827f** (verde azulado)
218
- - Número de clases controlado por `jenksK` (default: 5)
219
-
220
- ```tsx
221
- <MapaPMTiles
222
- mode="jenks"
223
- jenksK={7}
224
- {...otherProps}
225
- />
226
- ```
227
-
228
- ## Formato CSV
229
-
230
- El archivo CSV debe tener:
231
-
232
- - **Header row** con nombres de columnas
233
- - Una columna con el **join key** que coincida con el campo `joinGeomKey` de las geometrías
234
- - Una columna con los **valores** especificada en `field`
235
-
236
- Ejemplo:
237
-
238
- ```csv
239
- CVE_ENT,nombre,valor
240
- 01,Aguascalientes,1
241
- 02,Baja California,0
242
- 09,Ciudad de México,1
243
- ```
244
-
245
- ## Interactividad del Mapa
246
-
247
- El componente tiene **interactividad desactivada** por defecto para mantener un estilo estático:
248
-
249
- - `boxZoom`: false
250
- - `doubleClickZoom`: false
251
- - `dragRotate`: false
252
- - `keyboard`: false
253
- - `scrollZoom`: false
254
- - `touchPitch`: false
255
- - `dragPan`: false
256
- - `touchZoomRotate`: true (permitido)
257
-
258
- ## Notas CORS
259
-
260
- Para consumir PMTiles y CSV de dominios externos, asegúrate de que:
261
-
262
- 1. El servidor tenga configurado CORS adecuadamente
263
- 2. Para PMTiles, el servidor debe soportar **Range requests** (HTTP 206)
264
- 3. Headers necesarios:
265
- ```
266
- Access-Control-Allow-Origin: *
267
- Access-Control-Allow-Headers: Range
268
- Accept-Ranges: bytes
269
- ```
270
-
271
- ## Tecnologías
272
-
273
- - **React 18+**
274
- - **TypeScript**
275
- - **MapLibre GL JS**: Renderizado de mapas vectoriales
276
- - **PMTiles**: Formato de tiles vectoriales eficiente
277
- - **PapaParse**: Parsing de CSV
278
- - **Vite**: Build tool
279
-
280
- ## Build y Desarrollo
281
-
282
- ### Desarrollo local
283
-
284
- ```bash
285
- npm install
286
- npm run dev
287
- ```
288
-
289
- ### Build de producción
290
-
291
- ```bash
292
- npm run build
293
- ```
294
-
295
- Esto genera:
296
-
297
- - `dist/geo-ui.js` (ES module)
298
- - `dist/geo-ui.umd.cjs` (UMD)
299
- - `dist/index.d.ts` (TypeScript definitions)
300
- - `dist/style.css` (estilos de MapLibre GL)
301
-
302
- ### Publicar a npm
303
-
304
- ```bash
305
- # Asegúrate de estar autenticado en npm
306
- npm login
307
-
308
- # Incrementa versión (patch, minor, major)
309
- npm version patch
310
-
311
- # Publica (ejecutará automáticamente build por prepublishOnly)
312
- npm publish --access public
313
- ```
314
-
315
- **Nota**: Para paquetes con scope `@atdt/`, necesitas usar `--access public` la primera vez.
316
-
317
- ## Estructura del Proyecto
318
-
319
- ```
320
- geo-ui/
321
- ├── src/
322
- │ ├── components/
323
- │ │ └── MapaPMTiles.tsx # Componente principal
324
- │ ├── utils/
325
- │ │ ├── csv.ts # Utilidades para parsear CSV
326
- │ │ ├── jenks.ts # Algoritmo Jenks Natural Breaks
327
- │ │ └── pmtilesFeatureSearch.ts # Búsqueda de features y bbox
328
- │ └── index.ts # Entry point
329
- ├── dist/ # Build output (generado)
330
- ├── package.json
331
- ├── tsconfig.json
332
- ├── vite.config.ts
333
- └── README.md
334
- ```
335
-
336
- ## Licencia
337
-
338
- ISC
339
-
340
- ## Autor
341
-
342
- Dirección de Datos Geográficos - ATDT
343
-
344
- ## Contribuciones
345
-
346
- Issues y pull requests son bienvenidos en [GitLab](https://gitlab.com/atdt-desarrollogeo/componentes).
1
+ # @atdt/geo-ui
2
+
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
+
5
+ ## Características
6
+
7
+ - **MapaPMTiles**: Componente para renderizar mapas vectoriales usando MapLibre GL y PMTiles
8
+ - **Join CSV**: Unión automática de datos tabulares con geometrías vectoriales
9
+ - **Estilos temáticos**: Soporte para modo booleano y clasificación Jenks
10
+ - **TypeScript**: Completamente tipado para mejor experiencia de desarrollo
11
+ - **Sin SSR**: Diseñado para aplicaciones client-side (React puro, Vite, CRA)
12
+
13
+ ## Instalación
14
+
15
+ ```bash
16
+ npm install @atdt/geo-ui maplibre-gl pmtiles papaparse @mapbox/vector-tile pbf
17
+ ```
18
+
19
+ **Importante**: Las dependencias `react` y `react-dom` son peer dependencies (versión 18+).
20
+
21
+ ## Uso Básico
22
+
23
+ ### Importar el componente
24
+
25
+ ```tsx
26
+ import { MapaPMTiles } from '@atdt/geo-ui';
27
+ import '@atdt/geo-ui/style.css';
28
+ ```
29
+
30
+ ### Ejemplo básico (usando valores por defecto)
31
+
32
+ La biblioteca incluye **integrada** la URL del PMTiles de entidades de México, por lo que no necesitas especificar `pmtilesUrl`, `sourceLayer` ni `joinGeomKey` si trabajas con entidades:
33
+
34
+ ```tsx
35
+ import React from 'react';
36
+ import { MapaPMTiles } from '@atdt/geo-ui';
37
+ import '@atdt/geo-ui/style.css';
38
+
39
+ function App() {
40
+ return (
41
+ <MapaPMTiles
42
+ csvUrl="https://example.com/datos.csv"
43
+ field="valor"
44
+ mode="boolean"
45
+ width="100%"
46
+ height={600}
47
+ />
48
+ );
49
+ }
50
+
51
+ export default App;
52
+ ```
53
+
54
+ ### Ejemplo con csvUrl (especificando PMTiles personalizado)
55
+
56
+ ```tsx
57
+ import React from 'react';
58
+ import { MapaPMTiles } from '@atdt/geo-ui';
59
+ import '@atdt/geo-ui/style.css';
60
+
61
+ function App() {
62
+ return (
63
+ <MapaPMTiles
64
+ pmtilesUrl="https://example.com/custom.pmtiles"
65
+ sourceLayer="mi-capa"
66
+ joinGeomKey="ID"
67
+ csvUrl="https://example.com/datos.csv"
68
+ field="valor"
69
+ mode="boolean"
70
+ width="100%"
71
+ height={600}
72
+ />
73
+ );
74
+ }
75
+
76
+ export default App;
77
+ ```
78
+
79
+ ### Ejemplo con csvFile (archivo local)
80
+
81
+ ```tsx
82
+ import React, { useState } from 'react';
83
+ import { MapaPMTiles } from '@atdt/geo-ui';
84
+ import '@atdt/geo-ui/style.css';
85
+
86
+ function App() {
87
+ const [csvFile, setCsvFile] = useState<File | null>(null);
88
+
89
+ return (
90
+ <div>
91
+ <input
92
+ type="file"
93
+ accept=".csv"
94
+ onChange={(e) => setCsvFile(e.target.files?.[0] || null)}
95
+ />
96
+ {csvFile && (
97
+ <MapaPMTiles
98
+ csvFile={csvFile}
99
+ field="poblacion"
100
+ mode="jenks"
101
+ jenksK={5}
102
+ />
103
+ )}
104
+ </div>
105
+ );
106
+ }
107
+
108
+ export default App;
109
+ ```
110
+
111
+ ### Ejemplo con fitToIds (zoom y filtrado por entidades)
112
+
113
+ Muestra **solo** las entidades seleccionadas y ajusta el mapa automáticamente a su extensión (sin animación):
114
+
115
+ ```tsx
116
+ // Mostrar solo Ciudad de México
117
+ <MapaPMTiles
118
+ csvUrl="https://example.com/datos.csv"
119
+ fitToIds="09"
120
+ />
121
+
122
+ // Mostrar múltiples entidades (Ciudad de México, Estado de México y Jalisco)
123
+ <MapaPMTiles
124
+ csvUrl="https://example.com/datos.csv"
125
+ fitToIds={["09", "15", "14"]}
126
+ />
127
+ ```
128
+
129
+ **Ventajas de usar `fitToIds`:**
130
+ - ✅ No necesitas configurar `pmtilesUrl` (está integrado)
131
+ - ✅ Filtra automáticamente para mostrar solo las entidades seleccionadas
132
+ - ✅ Calcula y ajusta el bbox combinado sin animación de zoom
133
+ - ✅ Carga directo en la vista correcta
134
+
135
+ ## Props
136
+
137
+ ### Props Obligatorias
138
+
139
+ | Prop | Tipo | Descripción |
140
+ |------|------|-------------|
141
+ | `csvUrl` o `csvFile` | `string \| File` | URL del CSV remoto o archivo File local. **Al menos uno debe estar presente** |
142
+
143
+ ### Props Opcionales
144
+
145
+ | Prop | Tipo | Default | Descripción |
146
+ |------|------|---------|-------------|
147
+ | `pmtilesUrl` | `string` | `"https://www.datosgeoespaciales.atdt.gob.mx/datalake/pmtiles/componente/entidad.pmtiles"` | URL del archivo PMTiles remoto. **Por defecto usa el PMTiles de entidades de México** |
148
+ | `sourceLayer` | `string` | `"entidad"` | Nombre de la capa vectorial dentro del PMTiles |
149
+ | `joinGeomKey` | `string` | `"cvegeo"` | Campo de la geometría para hacer el join (también usado como `promoteId`) |
150
+ | `joinCsvKey` | `string` | `joinGeomKey` | Campo del CSV para hacer el join |
151
+ | `field` | `string` | `"valor"` | Campo del CSV con los valores a visualizar |
152
+ | `mode` | `"boolean" \| "jenks"` | `"boolean"` | Modo de estilo: booleano o clasificación Jenks |
153
+ | `width` | `string \| number` | `"100%"` | Ancho del mapa |
154
+ | `height` | `string \| number` | `520` | Alto del mapa (en px si es número) |
155
+ | `initialView` | `object` | `{center: [-102, 23], zoom: 4}` | Vista inicial del mapa (ignorado si se usa `fitToIds`) |
156
+ | `initialView.center` | `[number, number]` | `[-102, 23]` | Centro inicial [lng, lat] |
157
+ | `initialView.zoom` | `number` | `4` | Zoom inicial |
158
+ | `fitToIds` | `string \| string[]` | `undefined` | ID o array de IDs de features para filtrar y hacer zoom automático (sin animación) |
159
+ | `bboxField` | `string` | `"bbox"` | Campo con bbox precalculado en PMTiles |
160
+ | `jenksK` | `number` | `5` | Número de clases para clasificación Jenks |
161
+
162
+ ## Modos de Estilo
163
+
164
+ ### Modo Boolean
165
+
166
+ Pinta las geometrías en dos colores según el valor:
167
+
168
+ - `value === 1` → **#66827f** (verde azulado)
169
+ - `value === 0 / null / undefined` → **#f3f3f3** (gris claro)
170
+
171
+ ```tsx
172
+ <MapaPMTiles
173
+ mode="boolean"
174
+ {...otherProps}
175
+ />
176
+ ```
177
+
178
+ ### Modo Jenks
179
+
180
+ Clasifica los valores numéricos usando el algoritmo Jenks Natural Breaks y aplica una rampa de colores:
181
+
182
+ - De **#f3f3f3** (gris claro) a **#66827f** (verde azulado)
183
+ - Número de clases controlado por `jenksK` (default: 5)
184
+
185
+ ```tsx
186
+ <MapaPMTiles
187
+ mode="jenks"
188
+ jenksK={7}
189
+ {...otherProps}
190
+ />
191
+ ```
192
+
193
+ ## Formato CSV
194
+
195
+ El archivo CSV debe tener:
196
+
197
+ - **Header row** con nombres de columnas
198
+ - Una columna con el **join key** que coincida con el campo `joinGeomKey` de las geometrías
199
+ - Una columna con los **valores** especificada en `field`
200
+
201
+ Ejemplo:
202
+
203
+ ```csv
204
+ CVE_ENT,nombre,valor
205
+ 01,Aguascalientes,1
206
+ 02,Baja California,0
207
+ 09,Ciudad de México,1
208
+ ```
209
+
210
+ ## Interactividad del Mapa
211
+
212
+ El componente tiene **interactividad desactivada** por defecto para mantener un estilo estático:
213
+
214
+ - `boxZoom`: false
215
+ - `doubleClickZoom`: false
216
+ - `dragRotate`: false
217
+ - `keyboard`: false
218
+ - `scrollZoom`: false
219
+ - `touchPitch`: false
220
+ - `dragPan`: false
221
+ - `touchZoomRotate`: true (permitido)
222
+
223
+ ## Notas CORS
224
+
225
+ Para consumir PMTiles y CSV de dominios externos, asegúrate de que:
226
+
227
+ 1. El servidor tenga configurado CORS adecuadamente
228
+ 2. Para PMTiles, el servidor debe soportar **Range requests** (HTTP 206)
229
+ 3. Headers necesarios:
230
+ ```
231
+ Access-Control-Allow-Origin: *
232
+ Access-Control-Allow-Headers: Range
233
+ Accept-Ranges: bytes
234
+ ```
235
+
236
+ ## Tecnologías
237
+
238
+ - **React 18+**
239
+ - **TypeScript**
240
+ - **MapLibre GL JS**: Renderizado de mapas vectoriales
241
+ - **PMTiles**: Formato de tiles vectoriales eficiente
242
+ - **PapaParse**: Parsing de CSV
243
+ - **Vite**: Build tool
244
+
245
+ ## Build y Desarrollo
246
+
247
+ ### Desarrollo local
248
+
249
+ ```bash
250
+ npm install
251
+ npm run dev
252
+ ```
253
+
254
+ ### Build de producción
255
+
256
+ ```bash
257
+ npm run build
258
+ ```
259
+
260
+ Esto genera:
261
+
262
+ - `dist/geo-ui.js` (ES module)
263
+ - `dist/geo-ui.umd.cjs` (UMD)
264
+ - `dist/index.d.ts` (TypeScript definitions)
265
+ - `dist/style.css` (estilos de MapLibre GL)
266
+
267
+ ### Publicar a npm
268
+
269
+ ```bash
270
+ # Asegúrate de estar autenticado en npm
271
+ npm login
272
+
273
+ # Incrementa versión (patch, minor, major)
274
+ npm version patch
275
+
276
+ # Publica (ejecutará automáticamente build por prepublishOnly)
277
+ npm publish --access public
278
+ ```
279
+
280
+ **Nota**: Para paquetes con scope `@atdt/`, necesitas usar `--access public` la primera vez.
281
+
282
+ ## Estructura del Proyecto
283
+
284
+ ```
285
+ geo-ui/
286
+ ├── src/
287
+ │ ├── components/
288
+ │ │ └── MapaPMTiles.tsx # Componente principal
289
+ │ ├── utils/
290
+ │ │ ├── csv.ts # Utilidades para parsear CSV
291
+ │ │ ├── jenks.ts # Algoritmo Jenks Natural Breaks
292
+ │ │ └── pmtilesFeatureSearch.ts # Búsqueda de features y bbox
293
+ │ └── index.ts # Entry point
294
+ ├── dist/ # Build output (generado)
295
+ ├── package.json
296
+ ├── tsconfig.json
297
+ ├── vite.config.ts
298
+ └── README.md
299
+ ```
300
+
301
+ ## Licencia
302
+
303
+ ISC
304
+
305
+ ## Autor
306
+
307
+ Dirección de Datos Geográficos - ATDT
308
+
309
+ ## Contribuciones
310
+
311
+ Issues y pull requests son bienvenidos en [GitLab](https://gitlab.com/atdt-desarrollogeo/componentes).
@@ -17,10 +17,6 @@ export interface MapaPMTilesProps {
17
17
  fitToIds?: string | string[];
18
18
  bboxField?: string;
19
19
  jenksK?: number;
20
- showMunicipios?: boolean;
21
- municipiosCsvUrl?: string;
22
- municipiosCsvFile?: File;
23
- municipiosField?: string;
24
20
  }
25
21
  export declare const MapaPMTiles: React.FC<MapaPMTilesProps>;
26
22
  //# sourceMappingURL=MapaPMTiles.d.ts.map