আর-তে WritOGR () ব্যবহার করে জিওপ্যাকেজে একাধিক স্তর লিখছেন?


11

আমি আর-তে একই জিওপ্যাকেজে একাধিক স্তর লেখার চেষ্টা করছি, তবে আমি একটি ত্রুটি পেয়েছি Creation of output file failed,। আমি আরজিডিএল দিয়ে .gpkg ফাইলগুলিতে পড়া এবং লেখার ডকুমেন্টেশন সন্ধান করার চেষ্টা করেছি, উদাহরণস্বরূপ writeOGR(), অল্প সাফল্যের সাথে একাধিক স্তরকে সমর্থন করে কিনা তা নির্ধারণ করার জন্য । এটি কি সম্ভব, যদি তাই হয় তবে কীভাবে এটি করা যায়? নূন্যতম কাজের উদাহরণ:

library(sp)
library(maptools)
library(rgdal)

data(wrld_simpl)

norway <- wrld_simpl[wrld_simpl$NAME == "Norway", ]
sweden <- wrld_simpl[wrld_simpl$NAME == "Sweden", ]

file <- tempfile("scandinavia", fileext = c(".gpkg"))

writeOGR(norway, dsn = file, layer = "norway", driver = "GPKG")
writeOGR(sweden, dsn = file, layer = "sweden", driver = "GPKG")

ogrListLayers(file)

স্পষ্টতই একটি ogr2ogr শেল কমান্ড রয়েছে যা কৌতুক করে (হ্যাট টিপ এমডসুমনার ), যা আমি একটি আর ফাংশনটিতে গুটিয়ে রাখতে পারি। যাইহোক, এটা ঝরঝরে যদি writeOGR () এবং / অথবা st_write () হবে sfপ্যাকেজ এই জায়গা তৈরী করছিল। আমি শ্রেণীভুক্ত এটা GDAL এর উপর নির্ভর করে layer_options, কিন্তু সেখানে GPKG জন্য একটি পরিশেষে যোগ-টাইপ বিকল্প হতে বলে মনে হচ্ছে না GDAL


আমি একটি সহজ মোড়কের ফাংশন লিখতে পারে st_write()কিন্তু নেটিভ সমর্থন sfবা rgdalভাল হবে।


আফাইক সম্ভব নয়। এসএফ দিয়ে চেষ্টা করুন, যা আমিও অন্বেষণ করতে পেরে খুশি হব - একটি জিনিসের জন্য rgdal এর চেয়ে ঠিক করা আরও সহজ
mdsumner

1
@mdsumner st_writ () এ sf একই ফলাফল দেয়। আমি মনে করি জিডিএএল এর স্তর তৈরির বিকল্পগুলিতে একটি অ্যাপেন্ড বিকল্পের অভাব রাইটওজিআর () এবং st_writ () উভয়েরই সমস্যার উত্স।
আইভিন্দহ্যামাররা 5'17

উত্তর:


10

আপনি appendপতাকাটি ব্যবহার করে এটি করতে পারেন sf::st_write():

library(sf)

nc     <- st_read(system.file("shape/nc.shp", package="sf"))
storms <- st_read(system.file("shape/storms_xyz.shp", package="sf"))

st_write(nc,     "nc.gpkg", "nc")
st_write(storms, "nc.gpkg", "storms", append = TRUE)

st_layers("nc.gpkg")
## Driver: GPKG 
## Available layers:
##   layer_name  geometry_type features fields
## 1         nc  Multi Polygon      100     14
## 2     storms 3D Line String       71      0
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.