當前位置: 首頁>>代碼示例>>Java>>正文


Java Point.getCoordinate方法代碼示例

本文整理匯總了Java中com.vividsolutions.jts.geom.Point.getCoordinate方法的典型用法代碼示例。如果您正苦於以下問題:Java Point.getCoordinate方法的具體用法?Java Point.getCoordinate怎麽用?Java Point.getCoordinate使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在com.vividsolutions.jts.geom.Point的用法示例。


在下文中一共展示了Point.getCoordinate方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: serialize

import com.vividsolutions.jts.geom.Point; //導入方法依賴的package包/類
@Override
public void serialize(Point value, JsonGenerator jgen, SerializerProvider provider) throws IOException {
    if (value == null || value.getCoordinate() == null) {
        provider.defaultSerializeNull(jgen);

    } else {
        jgen.writeStartObject();
        jgen.writeObjectField("x", value.getX());
        jgen.writeObjectField("y", value.getY());
        jgen.writeEndObject();
    }
}
 
開發者ID:RWTH-i5-IDSG,項目名稱:xsharing-services-router,代碼行數:13,代碼來源:PointSerializer.java

示例2: createEnvelopeInMeters

import com.vividsolutions.jts.geom.Point; //導入方法依賴的package包/類
/**
 * Calculates Envelope around Point p with sidelength of sideLengthMeters.
 * 
 * Formula
 * <pre>
 *  sideLengthMeters * 180
 *  ----------------------		= dLon [°]
 *  meanEarthRadius * cos(point.lat) * Pi
 * 
 * 
 *  sidelengthMeters * 180
 *  ----------------------  = dLat [°]
 *  meanEarthRadius * Pi
 *  
 *  </pre>
 * 
 * earthRadius is 6371229 which gives best results for latitude around 47°
 * 
 * @param p
 * @param sideLengthMeters
 * @return
 * @throws IllegalArgumentException if SRID != 4326 (WGS84)
 */
public static Envelope createEnvelopeInMeters(Point p, double sideLengthMeters) {
	
	if (p.getSRID() != WGS84) throw new IllegalArgumentException("SRID of Point has to be " + WGS84);
	
	double radius = 6371229;
	double lon = p.getCoordinate().x;
	double lat = p.getCoordinate().y;
	
	double dLon = sideLengthMeters * 180 / radius / Math.PI / Math.cos(lat / 180 * Math.PI) / 2;
	double dLat = sideLengthMeters * 180 / radius / Math.PI / 2;
	
	Envelope env = new Envelope(lon - dLon, lon + dLon, lat - dLat, lat + dLat);
	return env;
}
 
開發者ID:graphium-project,項目名稱:graphium,代碼行數:38,代碼來源:GeometryUtils.java

示例3: geometry

import com.vividsolutions.jts.geom.Point; //導入方法依賴的package包/類
@Override
		public void geometry(Geometry arg0) {
			
			if (arg0 == null || arg0.getArea() < 80)
				return;
			
			// TODO Auto-generated method stub
			if (count != 0) {
				System.out.println(arg0.getGeometryType());
		
				try {
					
					Point cen = arg0.getCentroid();
					Coordinate latLong = new Coordinate();
					
					JTS.transform(cen.getCoordinate(), latLong, transform);
					
					System.out.println(" ************************* " + count + " " + featureName);
					System.out.println("in EPSG:27700 " + cen);
					System.out.println("lat long " + latLong);

					URL url = new URL("https://maps.googleapis.com/maps/api/staticmap?center="+latLong.x+","+latLong.y+"&zoom=20&size=640x640&maptype=satellite&format=png32&key=AIzaSyDYAQH5nMlF0vEfdIg0seTiGUIcRbLNeI4");
					URLConnection connection = url.openConnection();
					InputStream is = connection.getInputStream();
//					
					BufferedImage image = ImageIO.read(is);// new BufferedImage( 640,640, BufferedImage.TYPE_3BYTE_BGR );
//					BufferedImage image = new BufferedImage( 640,640, BufferedImage.TYPE_3BYTE_BGR );
					Graphics2D g2 = (Graphics2D) image.getGraphics();
					g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
					
					double scale = 11f;

					int imageCenX = image.getWidth () >> 1,
						imageCenY = image.getHeight() >> 1;
					
							
					g2.setColor(Color.red);
					g2.setStroke(new BasicStroke(2f));
					
					for (Pair<Coordinate, Coordinate> pair : new ConsecutivePairs<Coordinate>( Arrays.asList( arg0.getCoordinates() ), true)) {
						
						double 
							x1 = pair.first().x - cen.getCoordinate().x, 
							y1 = pair.first().y - cen.getCoordinate().y,
							x2 = pair.second().x - cen.getCoordinate().x, 
							y2 = pair.second().y - cen.getCoordinate().y;

						x1 *= scale; x2 *= scale; y1 *= scale; y2 *= scale;
							
						g2.draw( new Line2D.Double(x1 + imageCenX, - y1 + imageCenY, x2 + imageCenX, - y2 +imageCenY) );
						
					}
					
					
					g2.drawString( HeightsToRedis.getHeight(featureName) +"m below roof", 5, 15 );
					g2.drawString( HeightsToRedis.getRoof(featureName) +"m including roof", 5, 30 );
					g2.drawString( latLong.x + ", " + latLong.y + " location ", 5, 45 );
					
					
					g2.dispose();
					
					
					
					ImageIO.write(image, "png", new FileOutputStream ( String.format( "/home/twak/data/footprints/center%04d.png", count )) );
					
					is.close();
					
					if (count > 1000)
						System.exit(0);
					
					
				} catch (Throwable e) {
					e.printStackTrace();
					System.exit(0);
				}
			}
			count++;
			featureName = "?";
		}
 
開發者ID:twak,項目名稱:chordatlas,代碼行數:80,代碼來源:Footprints.java


注:本文中的com.vividsolutions.jts.geom.Point.getCoordinate方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。