精华内容
下载资源
问答
  • Python地理地图可视化:plotly连接mapbox多个地理经纬度中心点 import plotly.graph_objects as go KEYS = ['中心点经纬度', '维度', '经度', '内容'] def get_data(): city_name = ['北京', '上海', '广州', ...

    Python地理地图可视化:plotly连接mapbox多个地理经纬度中心点line+marker

    import plotly.graph_objects as go
    
    KEYS = ['中心点经纬度', '维度', '经度', '内容']
    
    
    def get_data():
        city_name = ['北京', '上海', '广州', '深圳', '成都']
    
        latlngs = [[39.929986, 116.395645],  # 北京中心点经纬度
                   [31.249162, 121.487899],  # 上海中心点经纬度
                   [23.120049, 113.30765],  # 广州中心点经纬度
                   [22.546054, 114.025974],  # 深圳中心点经纬度
                   [30.679943, 104.067923]]  # 成都中心点经纬度
    
        lats = []
        lons = []
        for ll in latlngs:
            lats.append(ll[0])
            lons.append(ll[1])
    
        ret = {KEYS[0]: latlngs[4],
               KEYS[1]: lats,
               KEYS[2]: lons,
               KEYS[3]: city_name}
    
        return ret
    
    
    if __name__ == '__main__':
        # 注册mapbox,获得Access tokens
        # https://account.mapbox.com/
        #mapbox_access_token = r"******************"
    
        data = get_data()
        print(data)
    
        center_loc = data[KEYS[0]]
        lats = data[KEYS[1]]
        lons = data[KEYS[2]]
        texts = data[KEYS[3]]
    
        fig = go.Figure(go.Scattermapbox(
            name='地理连线1',
            mode="markers+lines",
            lon=lons[0:3],
            lat=lats[0:3],
            marker={'size': 10},
            text=texts[0:3]))
    
        fig.add_trace(go.Scattermapbox(
            name='地理连线2',
            mode="markers+lines",
            lon=lons[3:],
            lat=lats[3:],
            marker={'size': 10},
            text=texts[3:]))
    
        fig.update_layout(
            margin={'l': 50, 't': 50, 'b': 50, 'r': 50},
            mapbox={
                'center': {'lon': center_loc[1], 'lat': center_loc[0]},
                'style': "open-street-map", #stamen-terrain
                # 'center': {'lon': -20, 'lat': -20},
                'zoom': 3})
    
        fig.show()
    

     

    输出结果如图:

     

    展开全文
  • 假设我们拥有了一个栅格边长为5米的栅格的中心点经纬度坐标,如何计算栅格的最大最小经纬度呢? 1)首先,需要把经纬度转化为mercator米坐标: 1 class Geometry(_x: Double, _y: Double) { 2 def x: Double ...

    假设我们拥有了一个栅格边长为5米的栅格的中心点经纬度坐标,如何计算栅格的最大最小经纬度呢?

    1)首先,需要把经纬度转化为mercator米坐标:

     1   class Geometry(_x: Double, _y: Double) {
     2     def x: Double = _x
     3 
     4     def y: Double = _y
     5   }
     6 
     7   def lonLat2Mercator_(lon: Double, lat: Double): Geometry = {
     8     val x = lon * 20037508.34 / 180;
     9     var y = Math.log(Math.tan((90 + lat) * Math.PI / 360)) / (Math.PI / 180)
    10     y = y * 20037508.34 / 180
    11     new Geometry(x, y)
    12   }

    2)把栅格中心点换算为mercator米坐标后,可以根据栅格边长算出经、纬度最大、最小mercator坐标值:

        var longitude: Double = 120.099878323
        var latitude: Double = 30.876723923
        var abc = lonLat2Mercator_(longitude, latitude)
        var dfs: Geometry = mercator2lonLat(new Geometry(abc.x, abc.y))
        println(dfs.x)
        println(dfs.y)
    
        var mercatorLngLat = lonLat2Mercator_(longitude, latitude)
        var minX: Double = mercatorLngLat.x - 2.5
        var maxX: Double = mercatorLngLat.x + 2.5
        var minY: Double = mercatorLngLat.y - 2.5
        var maxY: Double = mercatorLngLat.y + 2.5

    3)把米坐标的最大最小经纬度转化为经纬度的最大最小经纬度,即为:栅格的最大最小经纬度。

        var leftUpLngLat: Geometry = mercator2lonLat(new Geometry(minX, maxY))
        var rightDownLngLat: Geometry = mercator2lonLat(new Geometry(maxX, minY))
    
        var minLng: Double = leftUpLngLat.x
        var maxLat: Double = leftUpLngLat.y
        var maxLng: Double = rightDownLngLat.x
        var minLat: Double = rightDownLngLat.y
    
        println(minLng)
        println(maxLng)
        println(minLat)
        println(maxLat)
    1   def mercator2lonLat(mercator: Geometry): Geometry = {
    2     val x: Double = mercator.x / 20037508.34 * 180
    3     var y: Double = mercator.y / 20037508.34 * 180
    4     y = 180 / Math.PI * (2 * Math.atan(Math.exp(y * Math.PI / 180)) - Math.PI / 2)
    5 
    6     new Geometry(x, y)
    7   }

    验证数据结果:

    "D:\Program Files\Java\jdk1.8.0_111\bin\java。。。"
    com.intellij.rt.execution.application.AppMain TestScalaMain
    120.099878323
    30.876723923000004
    120.09985586511787
    120.09990078088211
    30.87670464799393
    30.876743198002185
    
    Process finished with exit code 0

     

    展开全文
  • +(void)middleCLLocationCoordinate:(CLLocationCoordinate2D)location1 andCllocationCoordinate:(CLLocationCoordinate2D)location2 LOcationCompleteBlock:(MiddleLocationCompleteBlock)CompleteBlock ...
    +(void)middleCLLocationCoordinate:(CLLocationCoordinate2D)location1 andCllocationCoordinate:(CLLocationCoordinate2D)location2 LOcationCompleteBlock:(MiddleLocationCompleteBlock)CompleteBlock
    
    {
        double  maxJ = location1.latitude>location2.latitude?location1.latitude:location2.latitude;
        double minJ = location1.latitude<location2.latitude?location1.latitude:location2.latitude;
        
        double maxW = location1.longitude>location2.longitude?location1.longitude:location2.longitude;
        double minW = location1.longitude<location2.longitude?location1.longitude:location2.longitude;
        if(maxJ==minJ&&maxW==minW)
        {
            CompleteBlock(maxJ,maxW,17);
        }
        double diff = maxJ - minJ;
        if(diff < (maxW - minW)){
            diff = maxW - minW;
        }
        
        diff = (10000 * diff)/10000;
        double centerJ = minJ*1000000+1000000*(maxJ - minJ)/2.0;
        double centerW = minW*1000000+1000000*(maxW - minW)/2.0;
        int Mapzoom = 0;
        
        NSArray  *diffArr = [NSArray arrayWithObjects:@"360",@"180",@"90",@"45",@"22",@"11",@"5",@"2.5",@"1.25",@"0.6",@"0.3",@"0.15",@"0.07",@"0.03",@"0",nil];
        for(int i = 0; i < diffArr.count; i++){
            
            if((diff - [diffArr[i] doubleValue]) >= 0){
                Mapzoom = i;
                break;
            }else{
                Mapzoom = 17;
            }
        }
        
        if (CompleteBlock) {
            CompleteBlock(centerJ/1000000,centerW/1000000,Mapzoom);
        }
    }

    展开全文
  • 根据SHP文件计算地块的四至经纬度中心经纬度座标,配合FME使用,根据SHP文件计算地块的四至经纬度中心经纬度座标,配合FME使用,根据SHP文件计算地块的四至经纬度中心经纬度座标,配合FME使用
  • JavaScript 根据经纬度得出中心点经纬度 /** * 地点坐标计算中心点 * @param geoCoordinateList {Array<Array<Object>>} [[{lat, lng}]] * @return { Object } {lat lng} */ getCenterPoint...

    JavaScript 根据经纬度得出中心点的经纬度

    	/**
         * 地点坐标计算中心点
         * @param geoCoordinateList {Array<Array<Object>>} [[{lat, lng}]]
         * @return { Object } {lat lng}
         */
        getCenterPoint(geoCoordinateList) {
          const geoCoordinateListFlat = geoCoordinateList.reduce((s, v) => {
            return (s = s.concat(v))
          }, [])
          const total = geoCoordinateListFlat.length
          let X = 0
          let Y = 0
          let Z = 0
          for (const g of geoCoordinateListFlat) {
            const lat = g.lat * Math.PI / 180
            const lon = g.lng * Math.PI / 180
            const x = Math.cos(lat) * Math.cos(lon)
            const y = Math.cos(lat) * Math.sin(lon)
            const z = Math.sin(lat)
            X += x
            Y += y
            Z += z
          }
    
          X = X / total
          Y = Y / total
          Z = Z / total
          const Lon = Math.atan2(Y, X)
          const Hyp = Math.sqrt(X * X + Y * Y)
          const Lat = Math.atan2(Z, Hyp)
    
          return { lng: Lon * 180 / Math.PI, lat: Lat * 180 / Math.PI }
        }
    

    参考博客:java根据经纬度得出中心点的经纬度

    展开全文
  • java根据经纬度得出中心点经纬度

    千次阅读 2019-06-26 16:37:04
    根据多个经纬度算出这个区域最中心的点 package lngLatDdemo; import java.util.ArrayList; import java.util.HashMap;... * 用于计算多个经纬度内的中心点 */ public class GetCenterPointFromLis...
  • 这里写自定义目录标题java根据几个地点的经纬度,求出这些经纬度中心点 java根据几个地点的经纬度,求出这些经纬度中心点 最近项目中需要根据得到的一些地图上点的经纬度,求出这些经纬度中心点的需求哦,为此...
  • 根据经纬度 获取中心点

    千次阅读 2019-10-05 06:41:39
    点击标注,可查看由纯文本构成的简单型信息窗口 // 百度地图API功能 var map = new BMap.Map("allmap"); var point = new BMap.Point(116.417854,39.921988); var marker = new BMap.Marker(point); // ...
  • 需求:小程序地图上需要展示某个省份是否有我们公司的产品在使用,如有,在地图上点亮该省份,亮点即为所有有产品使用地点的中心点。 直接贴代码了: 首先创建一个地点相关信息的dto,如下 package ...
  • 腾讯地图根据位置获取经纬度中心点悬浮标注 拖动地图获取中心点经纬度 html部分 <script charset="utf-8" src="https://map.qq.com/api/gljs?v=1.exp&key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77"><...
  • 已知地图上一个的坐标,通过设置半径长度来求出圆上360个的坐标?
  • //oneLon:第一个的经度;oneLat:第一个的纬度;twoLon:第二个的经度;twoLat:第二个的纬度; let aLon = 0, aLat = 0; let bLon = Number(oneLon) - Number(twoLon); let bLat = Number(oneLat) - ...
  • 经纬度的实体类 import lombok.Data; @Data public class GeoCoordinate { private double latitude; private double longitude; public GeoCoordinate(double latitude, double longitude) { this.latitude...
  • 我想实现的是 每次拖动地图之后 重新获取到当前画面内中心点经纬度 有木有大神给提示一下
  • 1. 计算中心点的java代码 public static void main(String[] args){ String data = "110.669982,20.911926;110.607118,20.964672;110.585898,20.977463;110.576281,21.010324;110.561774,21.083386;110.471418,21....
  • /** * https://stackoverflow.com/questions/6671183/calculate-the-center-point-of-multiple-latitude-longitude-coordinate-pairs * 几个经纬度中心点 * Fo...
  • 根据工作需要,将多个坐标点的中心点找出,在stackoverflow中发现了一个解决方法,也有人提供了Python版本,但运行之后的结果却是几个带负号的小于1的小数,再观察其他版本的例子时发现需要将经纬度进行转化,将角度...
  • 地图多边形获取中心点经纬度

    千次阅读 2020-09-25 15:08:22
    /* path : 多坐标点数组 格式:[{lng:'',lat:''},{lng:'',lat:''},{lng:'',lat:''}] {lng:'经度',lat:'纬度'} */ function getCenterPoint(data){ var lng = 0.0, lat = 0.0; for(var i=0; i<...
  • 百度地图,中国所有城市的经纬度坐标,以省为单位将下属所有城市进行归纳划分,以如下格式进行展示,需要的朋友可以下载拿走用 n: "北京", g: "116.395645,39.929986|12
  • KEYS = ['中心点经纬度', '维度', '经度', '内容'] def get_data(): city_name = ['北京', '上海', '广州', '深圳', '成都'] latlngs = [[39.929986, 116.395645], # 北京中心点经纬度 [31.249162, 121.487899...
  • android 获取地图中心点经纬度坐标

    千次阅读 2013-08-22 15:01:44
    最近项目中需要让用户在 地图上选择 商户的位置,需要有一个图标一直在屏幕的正中央,然后用户拖动地图的时候,动态解析中心点的地址信息,效果图如下: 废话不多说了,直接上代码吧 界面布局文件 select_...
  • 1.通过传入的经纬度进行逆地理编码,进行逆地理编码初始化,然后发起逆地理编码搜索。(self.search 这个是定义的 AMapSearchAPI 的对象) - (void)setGegeo:(CLLocationCoordinate2D)coor {    AMapReGeocodeS
  • this.pointList=[point0,point1,point2]; var view = this.baiduMap.getViewport(eval(this.pointList)); var mapZoom = view.zoom; var centerPoint = view.center;...this.baiduMap.centerAndZoom(centerPoint,map...
  • 项目刚好有个需求就是要随着屏幕的改变而加载附近的商户信息,那么高德地图获取当前屏幕中心点经纬度呢? 其实核心方法就是:aMap.setOnCameraChangeListener(this),下面是实现代码 实现接口: @Override public...
  • 怎么在百度地图上面获取湖南省的中心点经纬度,求代码,希望大佬们能帮帮忙
  • //根据经纬度的距离获取地图的缩放级 function getRoom(diff){ var room = new Array(0, 1, 2, 3, 4, 5, 6,7,8, 9, 10, 11, 12, 13, 14); var diffArr = new Array(360,180,90,45,22,11,5,2.5,1.25,0...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,709
精华内容 5,483
关键字:

经纬度中心点