mirror of
https://github.com/meteoinfo/MeteoInfo.git
synced 2025-12-08 20:36:05 +00:00
update web map functions
This commit is contained in:
parent
3fecf63dfc
commit
5364bc713a
13
.idea/libraries/Maven__com_formdev_flatlaf_1_5.xml
generated
Normal file
13
.idea/libraries/Maven__com_formdev_flatlaf_1_5.xml
generated
Normal file
@ -0,0 +1,13 @@
|
||||
<component name="libraryTable">
|
||||
<library name="Maven: com.formdev:flatlaf:1.5">
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/com/formdev/flatlaf/1.5/flatlaf-1.5.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/com/formdev/flatlaf/1.5/flatlaf-1.5-javadoc.jar!/" />
|
||||
</JAVADOC>
|
||||
<SOURCES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/com/formdev/flatlaf/1.5/flatlaf-1.5-sources.jar!/" />
|
||||
</SOURCES>
|
||||
</library>
|
||||
</component>
|
||||
13
.idea/libraries/Maven__com_formdev_flatlaf_extras_1_5.xml
generated
Normal file
13
.idea/libraries/Maven__com_formdev_flatlaf_extras_1_5.xml
generated
Normal file
@ -0,0 +1,13 @@
|
||||
<component name="libraryTable">
|
||||
<library name="Maven: com.formdev:flatlaf-extras:1.5">
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/com/formdev/flatlaf-extras/1.5/flatlaf-extras-1.5.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/com/formdev/flatlaf-extras/1.5/flatlaf-extras-1.5-javadoc.jar!/" />
|
||||
</JAVADOC>
|
||||
<SOURCES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/com/formdev/flatlaf-extras/1.5/flatlaf-extras-1.5-sources.jar!/" />
|
||||
</SOURCES>
|
||||
</library>
|
||||
</component>
|
||||
@ -1614,7 +1614,7 @@ public class GeoTiff {
|
||||
ByteBuffer buffer = ByteBuffer.allocate(8);
|
||||
int n = channel.read(buffer);
|
||||
assert n == 8;
|
||||
buffer.flip();
|
||||
((Buffer)buffer).flip();
|
||||
if (this.showHeaderBytes) {
|
||||
printBytes(System.out, "header", buffer, 4);
|
||||
buffer.rewind();
|
||||
@ -1639,7 +1639,7 @@ public class GeoTiff {
|
||||
buffer = ByteBuffer.allocate(size);
|
||||
buffer.order(this.byteOrder);
|
||||
channel.read(buffer);
|
||||
buffer.flip();
|
||||
((Buffer)buffer).flip();
|
||||
firstIFD = buffer.getLong();
|
||||
} else {
|
||||
firstIFD = buffer.getInt();
|
||||
@ -1666,7 +1666,7 @@ public class GeoTiff {
|
||||
buffer.order(this.byteOrder);
|
||||
|
||||
int n = channel.read(buffer);
|
||||
buffer.flip();
|
||||
((Buffer)buffer).flip();
|
||||
if (this.showBytes) {
|
||||
printBytes(System.out, "IFD", buffer, 2);
|
||||
buffer.rewind();
|
||||
@ -1698,7 +1698,7 @@ public class GeoTiff {
|
||||
buffer = this.bigTiff ? ByteBuffer.allocate(8) : ByteBuffer.allocate(4);
|
||||
buffer.order(this.byteOrder);
|
||||
n = channel.read(buffer);
|
||||
buffer.flip();
|
||||
((Buffer)buffer).flip();
|
||||
long nextIFD = this.bigTiff ? buffer.getLong() : buffer.getInt();
|
||||
if (this.debugRead) {
|
||||
System.out.println(" nextIFD == " + nextIFD);
|
||||
@ -1723,7 +1723,7 @@ public class GeoTiff {
|
||||
ByteBuffer buffer = this.bigTiff ? ByteBuffer.allocate(20) : ByteBuffer.allocate(12);
|
||||
buffer.order(this.byteOrder);
|
||||
channel.read(buffer);
|
||||
buffer.flip();
|
||||
((Buffer)buffer).flip();
|
||||
if (this.showBytes) {
|
||||
printBytes(System.out, "IFDEntry bytes", buffer, buffer.limit());
|
||||
}
|
||||
@ -1755,7 +1755,7 @@ public class GeoTiff {
|
||||
ByteBuffer vBuffer = ByteBuffer.allocate((int)ifd.count * ifd.type.size);
|
||||
vBuffer.order(this.byteOrder);
|
||||
channel.read(vBuffer);
|
||||
vBuffer.flip();
|
||||
((Buffer)vBuffer).flip();
|
||||
readValues(vBuffer, ifd);
|
||||
}
|
||||
|
||||
|
||||
@ -55,7 +55,7 @@ public class TileFactoryInfo {
|
||||
private String zparam;
|
||||
private boolean xr2l = true;
|
||||
private boolean yt2b = true;
|
||||
private int defaultZoomLevel;
|
||||
private int defaultZoomLevel = 1;
|
||||
/**
|
||||
* A name for this info.
|
||||
*/
|
||||
|
||||
@ -196,9 +196,9 @@ public class WebMapLayer extends MapLayer {
|
||||
}
|
||||
|
||||
//if(zoom >= 0 && zoom <= 15 && zoom != this.zoom) {
|
||||
int oldzoom = this.zoom;
|
||||
int oldZoom = this.zoom;
|
||||
Point2D oldCenter = getCenter();
|
||||
Dimension oldMapSize = getTileFactory().getMapSize(oldzoom);
|
||||
Dimension oldMapSize = getTileFactory().getMapSize(oldZoom);
|
||||
this.zoom = zoom;
|
||||
//this.firePropertyChange("zoom", oldzoom, zoom);
|
||||
|
||||
@ -327,8 +327,8 @@ public class WebMapLayer extends MapLayer {
|
||||
*/
|
||||
public void setTileFactory(TileFactory factory) {
|
||||
this.factory = factory;
|
||||
this.setZoom(factory.getInfo().getDefaultZoomLevel());
|
||||
this.setCenterPosition(new GeoPosition(0, 0));
|
||||
//this.setZoom(factory.getInfo().getDefaultZoomLevel());
|
||||
//this.setCenterPosition(new GeoPosition(0, 0));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -4357,13 +4357,13 @@ public class MapView extends JPanel implements IWebMapPanel {
|
||||
drawProjectedMap(g, this.getWidth(), this.getHeight());
|
||||
}
|
||||
|
||||
private void drawProjectedMap(Graphics2D g, int width, int heigth) {
|
||||
this.drawProjectedMap(g, width, heigth, tileLoadListener);
|
||||
private void drawProjectedMap(Graphics2D g, int width, int height) {
|
||||
this.drawProjectedMap(g, width, height, tileLoadListener);
|
||||
}
|
||||
|
||||
private void drawProjectedMap(Graphics2D g, int width, int heigth, TileLoadListener tll) {
|
||||
private void drawProjectedMap(Graphics2D g, int width, int height, TileLoadListener tll) {
|
||||
//Draw layers
|
||||
drawProjectedLayers(g, width, heigth, tll);
|
||||
drawProjectedLayers(g, width, height, tll);
|
||||
|
||||
//Draw lon/lat
|
||||
if (_drawGridLine) {
|
||||
@ -5715,46 +5715,31 @@ public class MapView extends JPanel implements IWebMapPanel {
|
||||
if (this.fixMapScale) {
|
||||
layer.setWebMapScale(this._scaleX);
|
||||
layer.setZoom(this.zoomLevel);
|
||||
} else {
|
||||
zoomLevel = layer.getZoom();
|
||||
} else {
|
||||
double webMapScale = layer.getWebMapScale();
|
||||
if (!MIMath.doubleEquals(_scaleX, webMapScale)) {
|
||||
int minZoom = layer.getTileFactory().getInfo().getMinimumZoomLevel();
|
||||
int maxZoom = layer.getTileFactory().getInfo().getMaximumZoomLevel();
|
||||
//int totalZoom = layer.getTileFactory().getInfo().getTotalMapZoom();
|
||||
int nzoom = minZoom;
|
||||
double scale;
|
||||
int newZoom = minZoom;
|
||||
double scale = webMapScale;
|
||||
for (int i = maxZoom; i >= minZoom; i--) {
|
||||
//int z = totalZoom - i;
|
||||
//double res = GeoUtil.getResolution(z, geoCenter.Y);
|
||||
//double scale = 1.0 / res;
|
||||
//layer.setAddressLocation(new GeoPosition(geoCenter.Y, geoCenter.X), i);
|
||||
layer.setZoom(i);
|
||||
scale = getWebMapScale(layer, i, width, height);
|
||||
if (_scaleX < scale || MIMath.doubleEquals(_scaleX, scale)) {
|
||||
this.setScale(scale, width, height);
|
||||
nzoom = i;
|
||||
webMapScale = scale;
|
||||
layer.setWebMapScale(webMapScale);
|
||||
if (_scaleX < scale) {
|
||||
newZoom = i;
|
||||
if (_scaleX < webMapScale) {
|
||||
if (i < maxZoom) {
|
||||
newZoom = i + 1;
|
||||
scale = getWebMapScale(layer, newZoom, width, height);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
boolean addOne = false;
|
||||
if (zoomLevel == minZoom) {
|
||||
addOne = true;
|
||||
} else if (nzoom < maxZoom) {
|
||||
addOne = true;
|
||||
}
|
||||
if (addOne) {
|
||||
zoomLevel = nzoom + 1;
|
||||
webMapScale = getWebMapScale(layer, zoomLevel, width, height);
|
||||
this.setScale(webMapScale, width, height);
|
||||
layer.setWebMapScale(webMapScale);
|
||||
layer.setZoom(zoomLevel);
|
||||
} else {
|
||||
zoomLevel = nzoom;
|
||||
}
|
||||
this.setScale(scale, width, height);
|
||||
layer.setWebMapScale(scale);
|
||||
layer.setZoom(newZoom);
|
||||
zoomLevel = newZoom;
|
||||
}
|
||||
this.fixMapScale = true;
|
||||
}
|
||||
@ -5901,9 +5886,7 @@ public class MapView extends JPanel implements IWebMapPanel {
|
||||
PointD p2 = Reproject.reprojectPoint(new PointD(pos2.getLongitude(), pos2.getLatitude()),
|
||||
KnownCoordinateSystems.geographic.world.WGS1984, this.getProjection().getProjInfo());
|
||||
if (pos2.getLongitude() - pos1.getLongitude() < 360.0) {
|
||||
double xlen = p2.X - p1.X;
|
||||
// if (pos2.getLongitude() - pos1.getLongitude() > 360)
|
||||
// xlen += 2.0037497210840166E7 * 2;
|
||||
double xlen = Math.abs(p2.X - p1.X);
|
||||
return (double) width / xlen;
|
||||
} else {
|
||||
double ylen = Math.abs(p2.Y - p1.Y);
|
||||
|
||||
@ -1,10 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<MeteoInfo File="milconfig.xml" Type="configurefile">
|
||||
<Path OpenPath="D:\Working\MIScript\Jython\mis\dataframe">
|
||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\plot_types\3d\jogl"/>
|
||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\plot_types\wind"/>
|
||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\chart\subplot"/>
|
||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\common_math"/>
|
||||
<Path OpenPath="D:\Working\MIScript\Jython\mis\io\geotiff">
|
||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\common_math\special"/>
|
||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\common_math\stats"/>
|
||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\chart"/>
|
||||
@ -14,19 +10,21 @@
|
||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\plot_types"/>
|
||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\plot_types\patch"/>
|
||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\array"/>
|
||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis"/>
|
||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\dataframe"/>
|
||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\common_math"/>
|
||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\common_math\interpolate"/>
|
||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis"/>
|
||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\io"/>
|
||||
<RecentFolder Folder="D:\Working\MIScript\Jython\mis\io\geotiff"/>
|
||||
</Path>
|
||||
<File>
|
||||
<OpenedFiles>
|
||||
<OpenedFile File="D:\Working\MIScript\Jython\mis\plot_types\3d\jogl\surf_sombrero.py"/>
|
||||
<OpenedFile File="D:\Working\MIScript\Jython\mis\plot_types\patch\polygon.py"/>
|
||||
<OpenedFile File="D:\Working\MIScript\Jython\mis\dataframe\read_aaot.py"/>
|
||||
<OpenedFile File="D:\Working\MIScript\Jython\mis\io\geotiff\geotiff_dem.py"/>
|
||||
</OpenedFiles>
|
||||
<RecentFiles>
|
||||
<RecentFile File="D:\Working\MIScript\Jython\mis\plot_types\3d\jogl\surf_sombrero.py"/>
|
||||
<RecentFile File="D:\Working\MIScript\Jython\mis\plot_types\patch\polygon.py"/>
|
||||
<RecentFile File="D:\Working\MIScript\Jython\mis\dataframe\read_aaot.py"/>
|
||||
<RecentFile File="D:\Working\MIScript\Jython\mis\io\geotiff\geotiff_dem.py"/>
|
||||
</RecentFiles>
|
||||
</File>
|
||||
<Font>
|
||||
|
||||
@ -2,13 +2,14 @@
|
||||
<MeteoInfo File="default.mip" Type="projectfile">
|
||||
<MapFrames>
|
||||
<MapFrame Active="true" DrawGridLabel="true" DrawGridLine="false" DrawNeatLine="true" Expanded="true" GridFontName="Arial" GridFontSize="12" GridLineColor="0xff808080" GridLineSize="1.0" GridLineStyle="DASH" GridXDelt="10.0" GridXOrigin="-180.0" GridYDelt="10.0" GridYOrigin="-90.0" Height="364" Left="48" Name="New Map Frame" NeatLineColor="0xff000000" NeatLineSize="1.0" Order="0" Top="30" Width="776">
|
||||
<Extents xMax="180.0" xMin="-180.0" yMax="83.62359619140625" yMin="-90.0"/>
|
||||
<Extents xMax="1.4641954417758651E7" xMin="6820686.104558709" yMax="6975934.872413158" yMin="2922054.0434102565"/>
|
||||
<MapProperty BackColor="0xffffffff" ForeColor="0xff000000" HighSpeedWheelZoom="true" MultiGlobalDraw="true" PointSmoothingMode="true" SelectColor="0xff66ffff" SmoothingMode="false" XYScaleFactor="1.0"/>
|
||||
<GridLine DrawGridLine="false" DrawGridTickLine="false" GridLineColor="0xff808080" GridLineSize="1.0" GridLineStyle="DASH"/>
|
||||
<MaskOut MaskLayer="china.shp" SetMaskLayer="false"/>
|
||||
<Projection IsLonLatMap="true" ProjStr="+title=long/lat:WGS84 +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees "/>
|
||||
<Projection IsLonLatMap="false" ProjStr="+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 "/>
|
||||
<GroupLayer>
|
||||
<Layer AvoidCollision="false" Expanded="false" FileName="..\..\..\..\Distribution\Java\MeteoInfo\MeteoInfo\map\cn_province.shp" Handle="1" IsMaskout="false" LayerDrawType="MAP" LayerName="cn_province.shp" LayerType="VECTOR_LAYER" ShapeType="POLYGON_Z" TransparencyPerc="0" Visible="true">
|
||||
<Layer Handle="1" IsMaskout="false" LayerDrawType="IMAGE" LayerName="WebMap_BingSatelliteMap" LayerType="WEB_MAP_LAYER" TransparencyPerc="0" Visible="true" WebMapProvider="BingSatelliteMap"/>
|
||||
<Layer AvoidCollision="false" Expanded="false" FileName="..\..\..\..\Distribution\Java\MeteoInfo\MeteoInfo\map\cn_province.shp" Handle="2" IsMaskout="false" LayerDrawType="MAP" LayerName="cn_province.shp" LayerType="VECTOR_LAYER" ShapeType="POLYGON_Z" TransparencyPerc="0" Visible="true">
|
||||
<LegendScheme BreakNum="1" FieldName="" HasNoData="false" LegendType="SINGLE_SYMBOL" MaxValue="0.0" MinValue="0.0" ShapeType="POLYGON_Z" UNDEF="-9999.0">
|
||||
<Breaks>
|
||||
<Break BackColor="0x00ffffff" Caption="" Color="0xfffffbc3" DrawFill="false" DrawOutline="true" DrawShape="true" EndValue="0" OutlineColor="0xff808080" OutlineSize="1.0" StartValue="0" Style="NONE" StyleSize="8" Tag=""/>
|
||||
@ -24,7 +25,7 @@
|
||||
<ChartGraphics/>
|
||||
<VisibleScale EnableMaxVisScale="false" EnableMinVisScale="false" MaxVisScale="0.0" MinVisScale="0.0"/>
|
||||
</Layer>
|
||||
<Layer AvoidCollision="false" Expanded="false" FileName="..\..\..\..\..\Temp\Map\country1.shp" Handle="2" IsMaskout="false" LayerDrawType="MAP" LayerName="country1.shp" LayerType="VECTOR_LAYER" ShapeType="POLYGON" TransparencyPerc="0" Visible="true">
|
||||
<Layer AvoidCollision="false" Expanded="false" FileName="..\..\..\..\..\Temp\Map\country1.shp" Handle="3" IsMaskout="false" LayerDrawType="MAP" LayerName="country1.shp" LayerType="VECTOR_LAYER" ShapeType="POLYGON" TransparencyPerc="0" Visible="true">
|
||||
<LegendScheme BreakNum="1" FieldName="" HasNoData="false" LegendType="SINGLE_SYMBOL" MaxValue="0.0" MinValue="0.0" ShapeType="POLYGON" UNDEF="-9999.0">
|
||||
<Breaks>
|
||||
<Break BackColor="0x00ffffff" Caption="" Color="0xfffffbc3" DrawFill="false" DrawOutline="true" DrawShape="true" EndValue="0" OutlineColor="0xff000000" OutlineSize="1.0" StartValue="0" Style="NONE" StyleSize="8" Tag=""/>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user