MaxRev.Gdal.WindowsRuntime.Minimal 3.6.2.200

There is a newer version of this package available.
See the version list below for details.
dotnet add package MaxRev.Gdal.WindowsRuntime.Minimal --version 3.6.2.200                
NuGet\Install-Package MaxRev.Gdal.WindowsRuntime.Minimal -Version 3.6.2.200                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="MaxRev.Gdal.WindowsRuntime.Minimal" Version="3.6.2.200" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add MaxRev.Gdal.WindowsRuntime.Minimal --version 3.6.2.200                
#r "nuget: MaxRev.Gdal.WindowsRuntime.Minimal, 3.6.2.200"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install MaxRev.Gdal.WindowsRuntime.Minimal as a Cake Addin
#addin nuget:?package=MaxRev.Gdal.WindowsRuntime.Minimal&version=3.6.2.200

// Install MaxRev.Gdal.WindowsRuntime.Minimal as a Cake Tool
#tool nuget:?package=MaxRev.Gdal.WindowsRuntime.Minimal&version=3.6.2.200                

gdal.netcore Mentioned in Awesome Geospatial Packages CI

A simple (as is) build engine of GDAL 3.6.2 library for .NET.

Packages

NuGet: MaxRev.Gdal.Core <br/>

NuGet: MaxRev.Gdal.LinuxRuntime.Minimal <br/>

NuGet: MaxRev.Gdal.WindowsRuntime.Minimal

Table Of Contents

<small><i><a href='http://ecotrust-canada.github.io/markdown-toc/'>Table of contents generated with markdown-toc</a></i></small>

About this library

What is this library

  • Only generates assemblies and binds everything into one package.
  • Provides easy access to GDAL by installing only core and runtime package
  • DOES NOT require installation of GDAL. From 3.6.1 version GDAL_DATA is also shipped. While it contains the proj.db database you can require proj-data grid shifts.

What is not

  • Does not compile all drivers. Only configured, they are listed below. By default GDAL has a lot of internal drivers.
  • Does not change GDAL source code.
  • Does not extend GDAL methods.

How to use

  1. Install core package - MaxRev.Gdal.Core
Install-Package MaxRev.Gdal.Core
  1. Install libraries for your runtime. You can install one of them or both with no conflicts.
Install-Package MaxRev.Gdal.WindowsRuntime.Minimal
Install-Package MaxRev.Gdal.LinuxRuntime.Minimal
  1. Initialize libraries in runtime
using MaxRev.Gdal.Core;
...
// call it once, before using GDAL
// this will initialize all GDAL drivers and set PROJ6 shared library paths
GdalBase.ConfigureAll();

  1. Profit! Use it in ordinary flow

Using GDAL functions

If you're struggling using GDAL functions. Here's a good place to start:

Development

How to compile on Windows

Enter win directory to find out how.

How to compile on Unix

Detailed guide is here - unix.

About build configuration

The current version targets GDAL 3.6.2 with minimal drivers. What stands for 'minimal' - drivers that require no additional dependencies (mainly boost). For example, MySQL driver is not included, because it requires 15+ boost deps. Same goes for Poppler driver. They can be packaged upon request.

Drivers included PROJ(9.2.0), GEOS(3.11.1), and more than 200 other drivers. To view full list of drivers, To view the complete list of drivers, you can view the full list with GDAL's API or see property DriversInCurrentVersion here.

NOTE: Windows and Linux drivers availability may differ. Ask me about a specific driver for runtime. Please issue if I need to mention any packages.

Building runtime libraries

Current version is targeting GDAL 3.6.2 version. Each runtime has to be build separately, but this can be done concurrently as they are using different contexts (build folders). Primary operating bindings (in gdal.core package) are build from windows.

To make everything work smoothly, each configuration targets the same drivers and their versions, respectively.

To start building for a specific runtime, see the README.md in a respective directory.

FAQ

Q: Packages does not work on CentOS 7, Ubuntu 18.04

A: These are old distros and are out of support (EOL). Use docker (see this Dockerfile how to package your app) or a newer distro (GLIBC 2.31+). Packages for older systems are difficult to maintain. From 3.6.x version the Debian 11 distro is used. See this for more info.

Q: Can I compile it on Ubuntu or another Unix-based system?

A: Yes, you can (see unix folder for readme). All you have to do, is to choose one of the latest distros like Ubuntu 22.04 or Debian 11 (recommended). From the 3.6.x version the Debian 11 distro is used by default. It was changed because of EOL of the previous distro (see answer above). Prior to 3.6.x version packages were built on CentOS - glibc of version 2.17. It's the lowest version (in my opinion) that suits all common systems (Ubuntu, Debian, Fedora).

Q: Projections are not working as expected

A: This package only contains the proj.db database. Make sure you have installed proj-data package. It contains aditional grid shifts and other data required for projections. Add path to your data folder with MaxRev.Gdal.Core.Proj.Configure(). See this for more info.

Q: Some drivers complain about missing data files

A: This is related to the previous package versions (prior to 3.6.1). From 3.6.1 version, GDAL_DATA folder is also shipped with core package.

Q: Missing {some} drivers, can you add more?

A: Feel free to contribute and I will help you you to add them. Here's the my additional answer.

Q: GDAL functions are not working as expected

A: Try to search an issue on github. In 98% of cases, they are working fine.

Q: Some types throw exceptions from SWIG on Windows

A: Yes, currently there are some redundant types in OGR namespace. This will be fixed in the next builds.

Q: In some methods performance is slower on Unix

A: Apparently, it's not a fault of the build engine. I did not face this issue and I use this packages in several production environments.

Q: OSGeo.OGR.SpatialReference throws System.EntryPointNotFoundException exception

A: That's a problem with swig bindings. Please, use SpatialReference type from OSR namespace. More info here and here.

About and Contacts

based on https://github.com/OSGeo/gdal && https://github.com/jgoday/gdal

Contact me: Telegram - MaxRev

Enjoy!

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 is compatible. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 is compatible. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETCoreApp 3.1

    • No dependencies.
  • .NETStandard 2.0

    • No dependencies.
  • .NETStandard 2.1

    • No dependencies.
  • net6.0

    • No dependencies.
  • net7.0

    • No dependencies.

NuGet packages (6)

Showing the top 5 NuGet packages that depend on MaxRev.Gdal.WindowsRuntime.Minimal:

Package Downloads
MaxRev.Gdal.Universal

GDAL (3.10.0) minimal libraries package. Drivers included PROJ (9.5.0), GEOS, SQLITE3, CURL, JPEG, PNG, HDF4, HDF5, and others. Targets linux-arm64 runtime. Target Frameworks: netstandard[2.1|2.0], netframework 4.6.1+, net6.0, net7.0, net8.0

AsGeo

Package Description

BP70.Models

Package Description

ZhunWang.DJI.KMZ.Core

大疆KMZ航线工具

georaster_layer_for_leaflet_dot_net_core

Server-Side GeoTIFF Rendering and Integration for Tile-Based Maps with ASP.NET Core

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
3.10.0.306 295 11/13/2024
3.10.0.296 974 11/7/2024
3.9.3.292 281 11/7/2024
3.9.3.287 185 11/7/2024
3.9.3.266 264 11/5/2024 3.9.3.266 is deprecated because it has critical bugs.
3.9.2.271 110 11/6/2024
3.9.2.259 192 11/5/2024 3.9.2.259 is deprecated because it has critical bugs.
3.9.1.247 25,551 8/14/2024
3.9.1.244 2,238 8/11/2024
3.9.1.242 231 8/10/2024
3.9.1.240 231 8/9/2024
3.9.0.218 11,037 6/14/2024
3.8.3.259 69,383 1/26/2024
3.7.0.100 72,424 5/12/2023
3.6.4.400 6,330 5/11/2023
3.6.4.100 1,095 5/6/2023
3.6.3.100 956 5/2/2023
3.6.2.200 2,225 5/2/2023
3.6.1.110 66,004 12/27/2022
3.6.1.100 875 12/22/2022
3.6.0.100 1,609 12/12/2022
3.3.3.110 120,869 1/5/2022
3.2.0.310 15,525 10/25/2021
3.2.0.300 72,763 3/7/2021
3.2.0.250 57,402 1/4/2021
3.2.0.200 1,121 12/16/2020
3.2.0.110 633 12/12/2020
3.2.0.100 611 12/12/2020
3.1.2.110 934 12/5/2020
3.1.0.100 30,223 6/30/2020
3.0.1.35 18,205 12/28/2019
3.0.1.30 528 12/26/2019
3.0.1.25 4,692 10/20/2019
3.0.1.2 597 10/10/2019
3.0.0.4 1,935 7/20/2019
3.0.0.1 575 6/26/2019
3.0.0 702 6/26/2019

- GDAL 3.6.2
- targets .NET6 LTS, .NET7
- PROJ 9.2.0