TLDR: Jak mohu převést soubor kmz na GeoJSON? Zdá se, že soubor kmz provádí volání webových služeb.
Podrobnosti:
Stahoval jsem soubor FEMA_NFHL_v3.2.kmz
z FEMA zde: https://hazards.fema.gov/femaportal/wps/portal/NFHLWMSkmzdownload
Mým cílem je převzít tento soubor a převést jej do formátu, do kterého mohu nahrát MapBox nebo jinak použít k naplnění databáze PostGIS. Můj preferovaný formát je GeoJSON.
Našel jsem následující kód v síti StackExchange, ale zdá se, že nefunguje.
import gdal srcDS = gdal.OpenEx("./FEMA_NFHL_v3.2.kmz") ds = gdal.VectorTranslate("output.json", srcDS, format="GeoJSON")
Výše uvedený kód vytváří tuto chybu:
$ python scratch.py Warning 1: The output driver does not natively support DateTime type for field timestamp. Misconversion can happen. -mapFieldType can be used to control field type conversion. Warning 1: The output driver does not natively support DateTime type for field begin. Misconversion can happen. -mapFieldType can be used to control field type conversion. Warning 1: The output driver does not natively support DateTime type for field end. Misconversion can happen. -mapFieldType can be used to control field type conversion. ERROR 1: Layer "NFHL" does not already exist in the output dataset, and cannot be created by the output driver. ERROR 1: Terminating translation prematurely after failed translation of layer NFHL (use -skipfailures to skip errors)
Rozbalil jsem soubor kmz a mám následující:
$ tree FEMA_NFHL_v3.2 FEMA_NFHL_v3.2 ├── doc.kml └── files ├── FEMA_Logo.png ├── GenStruct_item.gif ├── LOMA_item.gif ├── Levee_item.gif ├── LiMWA_item.gif ├── NFHL_Legend.png ├── NFHL_Quick_Start_Instructions.png └── RivMrk_item.gif 1 directory, 9 files
Vypadá to, že jediný soubor, který stojí za zvážení a obsahuje veškerá data, je doc.kml
. Při kontrole doc.kml
vidím tam „Nějaký kód odkazující na webovou službu FEMA. Po otevření aplikace FEMA NFHL v3.2 kmz
v aplikaci Google Earth vidím, že skutečně probíhá volání webových služeb.
Existuje způsob, jak programově pomocí Pythonu mít soubor .kmz provede volání webové služby a poté vygeneruje soubor GeoJSON?
Komentáře
- " Tato nebo tato " otázky jsou ve skutečnosti dvě otázky, což porušuje naše zásady Jedna otázka za otázku. Vyberte, zda chcete výstup JSON nebo Shapefile; můžete v případě potřeby požádat o druhou v pozdější otázce.
- Aktualizoval jsem otázku omezující ji na GeoJSON, ačkoli by to udělal i shapefile.
- Ne, můžete ' t. Služby WMS vrací stylizované obrazové mapy. Podle webu FEMA si můžete stáhnout skutečná data – " pomocí funkce „Hledat všechny produkty“ na MSC , můžete si stáhnout data NFHL pro kraj nebo stát ve formátu shapefile. " Viz také fema.gov/media-library -data / …