@datosgeo-atdt/geo-ui 0.5.0 → 0.7.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
@@ -127,10 +127,92 @@ Muestra **solo** las entidades seleccionadas y ajusta el mapa automáticamente a
127
127
  ```
128
128
 
129
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
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 showMunicipios (visualización municipal)
136
+
137
+ Cuando activas `showMunicipios={true}`, el componente cambia a **nivel municipal**:
138
+ - La **entidad** se muestra solo como **contorno** (outline grueso)
139
+ - Los **municipios** dentro de esa entidad se muestran con el **relleno temático** (boolean o jenks)
140
+ - Los datos CSV se unen usando el **cvegeo municipal** (5 dígitos)
141
+
142
+ ```tsx
143
+ // Mostrar municipios de Ciudad de México (09)
144
+ // El CSV debe tener cvegeo municipal (ej: "09002", "09010", etc.)
145
+ <MapaPMTiles
146
+ csvUrl="https://example.com/datos_municipales.csv"
147
+ fitToIds="09"
148
+ showMunicipios={true}
149
+ mode="jenks"
150
+ jenksK={5}
151
+ />
152
+
153
+ // Mostrar municipios de múltiples entidades
154
+ <MapaPMTiles
155
+ csvUrl="https://example.com/datos_municipales.csv"
156
+ fitToIds={["09", "15", "14"]}
157
+ showMunicipios={true}
158
+ />
159
+ ```
160
+
161
+ **¿Cómo funciona?**
162
+ 1. `fitToIds="09"` extrae automáticamente `cve_ent="09"` (primeros 2 dígitos)
163
+ 2. Filtra y muestra **todos los municipios** con `cve_ent="09"`
164
+ 3. La entidad "09" se dibuja solo como contorno
165
+ 4. Los municipios se rellenan según los valores del CSV unidos por `cvegeo` (5 dígitos)
166
+
167
+ **Formato CSV para municipios:**
168
+ ```csv
169
+ cvegeo,nombre,valor
170
+ 09002,Azcapotzalco,150
171
+ 09003,Coyoacán,200
172
+ 09010,Álvaro Obregón,175
173
+ ```
174
+
175
+ ### Ejemplo con Popup (información al pasar el mouse)
176
+
177
+ Puedes habilitar un popup que se muestra al pasar el mouse sobre las features:
178
+
179
+ ```tsx
180
+ // Popup simple: solo muestra el nombre de la entidad/municipio
181
+ <MapaPMTiles
182
+ csvUrl="https://example.com/datos.csv"
183
+ fitToIds="09"
184
+ enablePopup={true}
185
+ />
186
+
187
+ // Popup con datos del CSV
188
+ <MapaPMTiles
189
+ csvUrl="https://example.com/datos_poblacion.csv"
190
+ field="poblacion"
191
+ fitToIds="09"
192
+ enablePopup={true}
193
+ popupDataLabel="Población total"
194
+ popupDataField="poblacion"
195
+ />
196
+
197
+ // Popup en modo municipios
198
+ <MapaPMTiles
199
+ csvUrl="https://example.com/datos_municipales.csv"
200
+ fitToIds="09"
201
+ showMunicipios={true}
202
+ enablePopup={true}
203
+ popupDataLabel="Habitantes"
204
+ popupDataField="poblacion"
205
+ mode="jenks"
206
+ />
207
+ ```
208
+
209
+ **Comportamiento del popup:**
210
+ - Se muestra al pasar el mouse sobre las features (hover)
211
+ - **Nombre**: Muestra automáticamente el nombre de la entidad o municipio
212
+ - Entidades: usa un diccionario interno (ej: "09" → "Ciudad de México")
213
+ - Municipios: usa el campo `nomgeo` del PMTiles
214
+ - **Datos adicionales**: Si especificas `popupDataLabel` y `popupDataField`, muestra el valor del CSV
215
+ - Los números se formatean automáticamente con comas (ej: 1,234,567)
134
216
 
135
217
  ## Props
136
218
 
@@ -158,6 +240,10 @@ Muestra **solo** las entidades seleccionadas y ajusta el mapa automáticamente a
158
240
  | `fitToIds` | `string \| string[]` | `undefined` | ID o array de IDs de features para filtrar y hacer zoom automático (sin animación) |
159
241
  | `bboxField` | `string` | `"bbox"` | Campo con bbox precalculado en PMTiles |
160
242
  | `jenksK` | `number` | `5` | Número de clases para clasificación Jenks |
243
+ | `showMunicipios` | `boolean` | `false` | Activa modo municipal: muestra municipios con datos temáticos y entidad como contorno |
244
+ | `enablePopup` | `boolean` | `false` | Habilita popup con hover para mostrar información |
245
+ | `popupDataLabel` | `string` | `undefined` | Etiqueta para el dato adicional del popup (ej: "Población total") |
246
+ | `popupDataField` | `string` | `undefined` | Campo del CSV para mostrar en el popup (usa el valor de `field` si no se especifica) |
161
247
 
162
248
  ## Modos de Estilo
163
249
 
@@ -17,6 +17,10 @@ export interface MapaPMTilesProps {
17
17
  fitToIds?: string | string[];
18
18
  bboxField?: string;
19
19
  jenksK?: number;
20
+ showMunicipios?: boolean;
21
+ enablePopup?: boolean;
22
+ popupDataLabel?: string;
23
+ popupDataField?: string;
20
24
  }
21
25
  export declare const MapaPMTiles: React.FC<MapaPMTilesProps>;
22
26
  //# sourceMappingURL=MapaPMTiles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MapaPMTiles.d.ts","sourceRoot":"","sources":["../../src/components/MapaPMTiles.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAO3D,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;CACjB;AAUD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA+QlD,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;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAmDD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA6ZlD,CAAC"}