我正在尝试使用 GDAL 和 ogr2ogr 将整个星球 OSM (OpenStreetMap) 数据导入到 PostGIS 数据库中。然而这个过程已经进行了6天了,还没有结束。
这就是我正在做的:
我使用的是 .pbf 格式的行星 OSM 数据。 我正在使用 GDAL 的 ogr2ogr 工具将数据导入 PostGIS。 我的 PostGIS 扩展已安装并在数据库中运行。
我的问题:
这是我的代码
public void UploadFile(string dosyaAdi, string veriTabani)
{
string klasorYolu = @"D:\osm\";
string filePath = Path.Combine(klasorYolu, dosyaAdi);
Process process1 = new Process();
process1.StartInfo.FileName = @"C:\Program Files\QGIS 3.28.3\OSGeo4W.bat";
string abc = $"PG:\"dbname={veriTabani} user=postgres password=12345 host=localhost\"";
process1.StartInfo.Arguments = $@"ogr2ogr -f ""PostgreSQL"" {abc} -lco GEOMETRY_NAME=geom {filePath}";
process1.StartInfo.UseShellExecute = false;
process1.StartInfo.RedirectStandardOutput = false;
process1.StartInfo.RedirectStandardError = false;
process1.Start();
process1.WaitForExit();
}
导入行星规模的OSM预计需要很长时间。但是,使用专门用于此任务的https://osm2pgsql.org/,您可能会有更好的体验。 GDAL OSM 驱动程序使用临时 SQLite 数据库能够处理任何输出格式。