2016-11-04 5 views
1

Я использую gdal_grid для создания модели высот некоторых 3d-поверхностей.Как использовать gdal_grid с точками

я могу сделать это с помощью GeoJSON-файл с помощью следующей команды:

ds2 = gdal.Grid('outputfile.tif', 'inputfile.geojson', format = 'GTiff', algorithm = 'linear:radius=0') 

Это прекрасно работает, но я хотел бы быть в состоянии сделать это для каждой функции в отдельности. Я могу петлю через GeoJSON-файл и получить каждую функцию, но есть способ использовать gdal.Grid только с точками, например:

[[12.135253194446484, 55.590235278979236, 44.500800000000005], 
[12.136885609925141, 55.58968131535586, 44.500800000000005], 
[12.149742647277185, 55.59946751368944, 89.5008], 
[12.14443275453964, 55.601269628832526, 89.5008], 
[12.135253194446484, 55.590235278979236, 44.500800000000005]] 

Мои вопросы таким образом:

  1. Могу ли я использовать gdal.Grid с точками вместо geojson ??
  2. Где я могу увидеть ТОЧНО, какие входные параметры я могу использовать для gdal.Grid ??

ответ

0

Вот как я решил проблему. Это может быть не самое элегантное решение, но, похоже, оно работает. Я загружаю поверхности из файла geojson (как словарь), получаю первую функцию, а затем превращаю ее в json-строку.

with open(surfaceFileName,'r') as file: 
    data = json.load(file) 
# the first feature: 
dataJson = json.dumps(data['features'][0]['geometry']) 
# this feature as geojson-string 
featureJson = """{"type":"FeatureCollection", 
       "features": [ 
       {"type": "Feature", 
       "geometry": """+dataJson+""", 
       "properties": {} 
       }]}""" 
# Using gdal_grid: 
ds2 = gdal.Grid('test10py.tif', featureJson, format = 'GTiff', algorithm = 'linear:radius=0') 
Смежные вопросы