如何在 JUNG 中使用 GIS 坐标绘制顶点
How to plot vertices using GIS coordinates in JUNG
我正在尝试使用 GIS 纬度和经度值绘制顶点,并使用 StaticLayout 对它们进行布局。问题是我的值是负值,比如:
40.742151 -73.640223
43.122041 -77.622466
32.812091 -96.840159
布置顶点的最佳方式是什么?现在我正在这样做:
Transformer<String, Point2D> locationTransformer = new Transformer<String, Point2D>() {
@Override
public Point2D transform(String npi) {
Vertex doctor;
if (doctors.containsKey(npi)) {
doctor = doctors.get(npi);
} else {
doctor = referredDoctors.get(npi);
}
return new Point2D.Double((double) doctor.getXcor(i), (double) doctor.getYcor(i));
}
};
StaticLayout<String, String> layout = new StaticLayout<>(g, locationTransformer);
Dimension preferredSize = new Dimension(400, 400);
layout.setSize(preferredSize);
然而,结果并不好:只显示了几个节点,并且在图像的左上角部分可见。欢迎任何帮助。
您需要将 GIS 坐标转换为您在其中渲染的坐标系。在本例中,这是一个 X 和 Y 值从 0 到 400 的矩形。
因此,例如,您可以选择将 lat = 0、long = 0 映射到区域 (200,200) 的中间。
有许多不同的地图投影 (https://en.wikipedia.org/wiki/Map_projection),您需要确定哪一种最适合您的需要。 (例如,如果您的点都在欧洲,则您的转换可能不需要能够显示地球表面的所有点。)
您可能会发现此演示很有用:http://jung.sourceforge.net/site/apidocs/edu/uci/ics/jung/samples/WorldMapGraphDemo.html
我正在尝试使用 GIS 纬度和经度值绘制顶点,并使用 StaticLayout 对它们进行布局。问题是我的值是负值,比如:
40.742151 -73.640223
43.122041 -77.622466
32.812091 -96.840159
布置顶点的最佳方式是什么?现在我正在这样做:
Transformer<String, Point2D> locationTransformer = new Transformer<String, Point2D>() {
@Override
public Point2D transform(String npi) {
Vertex doctor;
if (doctors.containsKey(npi)) {
doctor = doctors.get(npi);
} else {
doctor = referredDoctors.get(npi);
}
return new Point2D.Double((double) doctor.getXcor(i), (double) doctor.getYcor(i));
}
};
StaticLayout<String, String> layout = new StaticLayout<>(g, locationTransformer);
Dimension preferredSize = new Dimension(400, 400);
layout.setSize(preferredSize);
然而,结果并不好:只显示了几个节点,并且在图像的左上角部分可见。欢迎任何帮助。
您需要将 GIS 坐标转换为您在其中渲染的坐标系。在本例中,这是一个 X 和 Y 值从 0 到 400 的矩形。
因此,例如,您可以选择将 lat = 0、long = 0 映射到区域 (200,200) 的中间。
有许多不同的地图投影 (https://en.wikipedia.org/wiki/Map_projection),您需要确定哪一种最适合您的需要。 (例如,如果您的点都在欧洲,则您的转换可能不需要能够显示地球表面的所有点。)
您可能会发现此演示很有用:http://jung.sourceforge.net/site/apidocs/edu/uci/ics/jung/samples/WorldMapGraphDemo.html