Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
D
django
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
Batuhan Osman TASKAYA
django
Commits
ed3215ad
Kaydet (Commit)
ed3215ad
authored
Ock 23, 2017
tarafından
Daniel Wiesmann
Kaydeden (comit)
Tim Graham
Ock 31, 2017
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Refs #27421 -- Documented GDALRaster creation in detail.
üst
6d8979f4
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
118 additions
and
1 deletion
+118
-1
gdal.txt
docs/ref/contrib/gis/gdal.txt
+118
-1
No files found.
docs/ref/contrib/gis/gdal.txt
Dosyayı görüntüle @
ed3215ad
...
...
@@ -1111,7 +1111,9 @@ blue.
be opened with write access. If the input is raw data, the parameters ``width``,
``height``, and ``srid`` are required. The following example shows how rasters
can be created from different input sources (using the sample data from the
GeoDjango tests, see also the :ref:`gdal_sample_data` section)::
GeoDjango tests, see also the :ref:`gdal_sample_data` section). For a
detailed description of how to create rasters using dictionary input, see
the :ref:`gdal-raster-ds-input` section.
>>> from django.contrib.gis.gdal import GDALRaster
>>> rst = GDALRaster('/path/to/your/raster.tif', write=False)
...
...
@@ -1537,6 +1539,121 @@ blue.
[2, 2, 2, 2],
[3, 3, 3, 3]], dtype=uint8)
.. _gdal-raster-ds-input:
Creating rasters from data
--------------------------
This section describes how to create rasters from scratch using the
``ds_input`` parameter.
A new raster is created when a ``dict`` is passed to the :class:`GDALRaster`
constructor. The dictionary contains defining parameters of the new raster,
such as the origin, size, or spatial reference system. The dictionary can also
contain pixel data and information about the format of the new raster. The
resulting raster can therefore be file-based or memory-based, depending on the
driver specified.
There's no standard for describing raster data in a dictionary or JSON flavor.
The definition of the dictionary input to the :class:`GDALRaster` class is
therefore specific to Django. It's inspired by the `geojson`__ format, but the
``geojson`` standard is currently limited to vector formats.
Examples of using the different keys when creating rasters can be found in the
documentation of the corresponding attributes and methods of the
:class:`GDALRaster` and :class:`GDALBand` classes.
__ http://geojson.org
The ``ds_input`` dictionary
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Only a few keys are required in the ``ds_input`` dictionary to create a raster:
``width``, ``height``, and ``srid``. All other parameters have default values
(see the table below). The list of keys that can be passed in the ``ds_input``
dictionary is closely related but not identical to the :class:`GDALRaster`
properties. Many of the parameters are mapped directly to those properties;
the others are described below.
The following table describes all keys that can be set in the ``ds_input``
dictionary.
=============== ======== ==================================================
Key Default Usage
=============== ======== ==================================================
``srid`` required Mapped to the :attr:`~GDALRaster.srid` attribute
``width`` required Mapped to the :attr:`~GDALRaster.width` attribute
``height`` required Mapped to the :attr:`~GDALRaster.height` attribute
``driver`` ``MEM`` Mapped to the :attr:`~GDALRaster.driver` attribute
``name`` ``''`` See below
``origin`` ``0`` Mapped to the :attr:`~GDALRaster.origin` attribute
``scale`` ``0`` Mapped to the :attr:`~GDALRaster.scale` attribute
``skew`` ``0`` Mapped to the :attr:`~GDALRaster.width` attribute
``bands`` ``[]`` See below
``nr_of_bands`` ``0`` See below
``datatype`` ``6`` See below
=============== ======== ==================================================
.. object:: name
String representing the name of the raster. When creating a file-based
raster, this parameter must be the file path for the new raster.
.. object:: datatype
Integer representing the data type for all the bands. Defaults to ``6``
(Float32). All bands of a new raster are required to have the same datatype.
The value mapping is:
===== =============== ===============================
Value GDAL Pixel Type Description
===== =============== ===============================
1 GDT_Byte Eight bit unsigned integer
2 GDT_UInt16 Sixteen bit unsigned integer
3 GDT_Int16 Sixteen bit signed integer
4 GDT_UInt32 Thirty-two bit unsigned integer
5 GDT_Int32 Thirty-two bit signed integer
6 GDT_Float32 Thirty-two bit floating point
7 GDT_Float64 Sixty-four bit floating point
===== =============== ===============================
.. object:: nr_of_bands
Integer representing the number of bands of the raster. A raster can be
created without passing band data upon creation. If the number of bands
isn't specified, it's automatically calculated from the length of the
``bands`` input. The number of bands can't be changed after creation.
.. object:: bands
A list of ``band_input`` dictionaries with band input data. The resulting
band indices are the same as in the list provided. The definition of the
band input dictionary is given below. If band data isn't provided, the
raster bands values are instantiated as an array of zeros and the "no
data" value is set to ``None``.
The ``band_input`` dictionary
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The ``bands`` key in the ``ds_input`` dictionary is a list of ``band_input``
dictionaries. Each ``band_input`` dictionary can contain pixel values and the
"no data" value to be set on the bands of the new raster. The data array can
have the full size of the new raster or be smaller. For arrays that are smaller
than the full raster, the ``size``, ``shape``, and ``offset`` keys control the
pixel values. The corresponding keys are passed to the :meth:`~GDALBand.data`
method. Their functionality is the same as setting the band data with that
method. The following table describes the keys that can be used.
================ ================================= ======================================================
Key Default Usage
================ ================================= ======================================================
``nodata_value`` ``None`` Mapped to the :attr:`~GDALBand.nodata_value` attribute
``data`` Same as ``nodata_value`` or ``0`` Passed to the :meth:`~GDALBand.data` method
``size`` ``(with, height)`` of raster Passed to the :meth:`~GDALBand.data` method
``shape`` Same as size Passed to the :meth:`~GDALBand.data` method
``offset`` ``(0, 0)`` Passed to the :meth:`~GDALBand.data` method
================ ================================= ======================================================
Settings
========
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment