1

我对 World Wind 有疑问,而且我的英语不是很好,但是您会通过这两张图片理解我的问题:

这是原始图像

这是 World Wind 上的同一张图片

我不知道为什么图像被“改变”......

这是我的代码:

public class WorldWindTemplate extends ApplicationTemplate
{
    public WorldWindTemplate()
    {
        Configuration.setValue(AVKey.GLOBE_CLASS_NAME, EarthFlat.class.getName());

        app = new AppFrame();
    }

    public class AppFrame extends ApplicationTemplate.AppFrame
    {        
        private RenderableLayer coucheSP;

        public AppFrame()
        {
            super(true, true, false);

            coucheSP = new RenderableLayer();
            coucheSP.setName("SP");
            coucheSP.setPickEnabled(false);

            Shapefile shapeFile = new Shapefile(new File("shapefile.shp"));

            while (shapeFile.hasNext()) {
                ShapefileRecord record = shapeFile.nextRecord();        
                VecBuffer vectorBuffer = record.getPointBuffer(0);

                ShapeAttributes normalAttributes = new BasicShapeAttributes();
                normalAttributes.setOutlineOpacity(1);

                float[] ft = {0, 1, 0, 0, 1, 0, 1, 1};
                Polygon polygon = new Polygon(vectorBuffer.getPositions());
                polygon.setTextureImageSource("echiquier.gif", ft, 4);
                polygon.setAttributes(normalAttributes);
                coucheSP.addRenderable(polygon);
            }

            //Closing shape file
            shapeFile.close();

            insertBeforeCompass(getWwd(), coucheSP);
            getWwd().getView().getGlobe().setElevationModel(new ZeroElevationModel());
        }
    }
}

在我的 shapefile 中,有一个具有 4 个角度的实体用于创建多边形。shapefile 是使用 QGIS 生成的。实际上,我真的需要在 World Wind 中显示相同的图像(和相同的像素)。

我试图为这个问题找到其他线程,但我找不到任何东西......

我是 World Wind 的初学者,如果您能给我一些帮助或提示,我将不胜感激。如果您需要更多信息或不明白某些内容,请告诉我。


编辑 30/07:

我可能有一个提示,看起来这是因为我创建 shapefile 时在 QGIS 中使用的投影。

有人知道我必须为法国使用(并由 WorldWind 支持)的投影吗?我试了一些,世界风不支持。

gov.nasa.worldwind.exception.WWRuntimeException: Unsupported projection
gov.nasa.worldwind.Projection.Unknown
    at gov.nasa.worldwind.formats.shapefile.Shapefile.initialize(Unknown Source)
    at gov.nasa.worldwind.formats.shapefile.Shapefile.initializeFromFile(Unknown Source)
    at gov.nasa.worldwind.formats.shapefile.Shapefile.<init>(Unknown Source)
    at gov.nasa.worldwind.formats.shapefile.Shapefile.<init>(Unknown Source)

引起的

Shapefile shapeFile = new Shapefile(new File("shapefile.shp"));
4

0 回答 0