Forum Discussion

parvgeet's avatar
parvgeet
New Member
3 months ago
Solved

How to process GeoTiff images in Fabric?

I want to work on GeoTiff images and I am not able to add rasterio package to external repository. 

  • Hi parvgeet,

    rasterio can be tricky in Fabric because it depends on native GDAL libraries under the hood, not just pure Python packages. In many cases, the package installation fails even if the Python dependency itself looks valid.

    A common approach is to :

    • store the GeoTIFF files in OneLake/Lakehouse
    • process them through Spark notebooks
    • and try installing compatible versions of rasterio, GDAL, or alternatives like rioxarray / xarray

    You may also want to check whether the issue comes from :

    • unsupported wheel format
    • missing native dependencies or runtime compatibility with the current Fabric Spark environment.

    Another option is to preprocess the GeoTIFFs externally (Databricks, local environment, Azure ML, etc.) and then load the processed outputs into Fabric.

    Useful docs :

    Hope this helps a bit 🙂
    If this comment helped narrow it down, feel free to mark it as a solution so it can help others facing the same issue.

  • I added below in YML editor view and it is working 

     

4 Replies

  • Hi parvgeet,

    rasterio can be tricky in Fabric because it depends on native GDAL libraries under the hood, not just pure Python packages. In many cases, the package installation fails even if the Python dependency itself looks valid.

    A common approach is to :

    • store the GeoTIFF files in OneLake/Lakehouse
    • process them through Spark notebooks
    • and try installing compatible versions of rasterio, GDAL, or alternatives like rioxarray / xarray

    You may also want to check whether the issue comes from :

    • unsupported wheel format
    • missing native dependencies or runtime compatibility with the current Fabric Spark environment.

    Another option is to preprocess the GeoTIFFs externally (Databricks, local environment, Azure ML, etc.) and then load the processed outputs into Fabric.

    Useful docs :

    Hope this helps a bit 🙂
    If this comment helped narrow it down, feel free to mark it as a solution so it can help others facing the same issue.

    • parvgeet's avatar
      parvgeet
      New Member

      I added below in YML editor view and it is working 

       

  • Thanks Tamanchu . I think 2nd option would be the viable option. More smooth and clean . I can accept second option as solution for now

    • Tamanchu's avatar
      Tamanchu
      Icon for Super User rankSuper User

      Makes sense honestly 😉 !
      For geospatial/raster workloads, preprocessing externally is often the smoother path today, especially when native GDAL-based dependencies are involved. Fabric works really well once the data is already standardized and landed in OneLake, but some advanced geospatial Python stacks can still be a bit challenging directly inside the runtime environment.

      Hope the setup works well for your use case. I'm happy to help !